差分约束
更新日志
:开工。思路
概念上与 2-sat 略有相似,实现思想与同余最短路有共通之处(指把数学问题转化为了图论问题)。
给定一些约束条件,形似于 \(x_a+c\ge x_b\),要求你构造出一组满足所有条件的 \(x\) 序列或者汇报不可能。
你发现,我们跑完最短路后,一定满足 \(dis_a+c\ge dis_b\),当 \(a\) 存在一条连向 \(b\) 的边权为 \(c\) 的边。
所以建图以后跑最短路即可。
如果条件形如 \(x_a=x_b\),那么只需要连双向边权为 \(0\) 的边即可。
建图细节
我们令一个超级原点 \(0\) 的 \(dis_0=0\),也就是令其的值为 \(0\)。
如果 \(a\) 点的值 \(x_a\) 已定,那么将其与原点双向连边权为 \(x_a\) 的边即可,很好理解。
其他相关细节可以根据具体题目而定。
无解
图中存在负环则无解。

浙公网安备 33010602011771号