差分约束系统小结

一、内容:

有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

猜你喜欢

转载自blog.csdn.net/qq_41829060/article/details/91994472