题解 P7624 【[AHOI2021初中组] 地铁】
首先看到题目有几个想法:
- 因为有「不小于」「不大于」这样的限制,考虑差分约束。
- 因为是环上,可能需要断环为链。
于是不妨设
能否只使用
考虑根据题意建立差分约束系统:
- 对于第 1 类信息:
- 若
S_i < T_i ,则有d_{S_i} - d_{T_i} \le -L_i ; - 否则,有
d_{S_i} - d_{T_i} \le C-L_i 。
- 若
- 对于第 2 类信息:
- 若
S_i < T_i ,则有d_{T_i} - d_{S_i} \le L_i ; - 否则,有
d_{T_i} - d_{S_i} \le L_i - C 。
- 若
我们知道,差分约束系统有解的条件为图中没有负环,也就是每个点的最短路是可求的。
那么,如果将
如何求出
以上界
若没有负环,则
若存在负环,对于该负环的不等式
- 若
k = 0 ,无解,因为这个环无论C 为何值都是负环。 - 若
k > 0 ,则C 应当增大。 - 若
k < 0 ,则C 应当减小。
答案为
时间复杂度