知识点
一. 前置知识:判断负环
二.差分约束
差分约束系统即为n元一次不等式组,每个约束条件都是由两个变量作差构成的,形如,目标为求出一组解可以满足所有约束条件。
可变形为,与最短路中三角形不等式 相似,于是将不等式组中的变量看作点,每个约束条件 为从节点 j 向节点 i 连一条边权为 的有向边,在跑完最短路后, 为差分约束系统中的一组解,若存在负环和终点不可达时,无解。
变形为 ;
变形为 ;
变形为 ;
变形为 且 ;
必要时,建一个超级源点。
那么,什么时候需要建立超级原点呢?
有的时候,为了保证整个区间的连通的,就需要建立一个超级源点使得整个图是连通的。但是需要注意的是,在正常建边的时候,如果是从大指向小,这个时候我们建立超级源点的时候就也应该遵循这个原则,如果是是从小指向大的,建立超级源点的时候反过来即可。
!求解最大解用最短路,求解最小解用最长路
模板题:洛谷 P5960 【模板】差分约束算法 <