练习记录

CF R728 Div2 B

找 \(a_ia_j=i+j\) 的对数,\(a_i\ne a_j,n\leq10^5\)。

排序后枚举,由于 \(a_ia_j\) 会很大但是 \(i+j\) 会很小,所以枚举的效率是高的。

CF R728 Div2 C

已知单源最短路径长,求边权和的最小值。

尽量少安排正权边,多安排负权边,且要满足三角形不等式。

\(d(v)+cost(u,v)\ge d(u)\)

要让 \(cost(u,v)\) 尽量小,显然要取等号。

因此,从小到大排序,正权边连成一条链,每个点 \(i\) 都往前面的点 \(j\) 连一条 \(d(j)-d(i)\) 的边。

这个东西用前缀和瞎维护就ok了。

CF R728 Div2 D

上一篇:原生js模拟滚动条


下一篇:《Graph Representation Learning》笔记 Chapter2