Loading

最短路

CF843D Dynamic Shortest Path
非常巧妙,增加了 \(k\) 条边的权值以后,答案的增加不会超过 \(k\)。首先先跑一个 \(dijkstra\) 来得到 \(dis\) 数组。
然后对于每一个增加的答案开一个 queue 来存,\(add_v = min(dis_u + add_u + e(u, v) - dis_v)\)
对于每一个增加的数遍历一遍即可。

CF1450E Capitalism
\(|a_i - a_j| \le 1\) 这个条件拆开,然后跑 \(Folyd\) 最短路,找全局最大值。如果有奇环,就是无解。

posted @ 2020-11-30 08:11  zhoukangyang  阅读(54)  评论(0编辑  收藏  举报