一、内容:
有n个变量,m个约束条件组成的不等式组成的系统,称为差分约束系统。
差分约束系统就是将这些不等式的关系转换为图,用最短路的方法求解。
二、常见问题即求解方法
1、求出这些不等式中的最小值:
解法:将不等式转化为A-B>=C的形式,建立B->A的边,长度为C,然后求出最长路径,最长路径的解就是结果。
2、求出不等式中的最大值
解法:将不等式装化为A-B<=C的形式,建立B->A长度为C的边,然后求出最短路,最短路径的解就是结果。
3、求出不等式是否存在解
解法:找一个源点,然后根据题中已有关系建立源点到所有点的距离,然后求解这个源点到所有点
的距离求出最大解或最小解,如果图中存在环则说明好、这些不等式不存在解。
三、常见问题:
1、注意重边
2、题中的隐含条件建立边
3、注意不等式的区间,是否可能存在-1的情况
4、建立源点可以避免出现距离为-INF后INF的情况。
5、用SPFA时,有时用堆栈代替队列会更快。
四、练习
1、POJ 1716
2、洛谷 P3275
3、POJ 2983
4、POJ 1364
5、POJ 3169
6、POJ 3460
7、POJ 1201
8、POJ 1275