12.20 差分约束学习笔记


先来看一组不等式:
X1 - X2 <= 0
 X1 - X5 <= -1
X2 - X5 <= 1
X3 - X1 <= 5 
X4 - X1 <= 4
 X4 - X3 <= -1
 X5 - X3 <= -3
 X5 - X4 <= -3
在不等式组(1)中,每个不等式都是两个未知数的差小于等于某个常数(大于等于也可以,因
为左右乘以-1 就可以化成小于等于)。这样的不等式组就称作 差分约束系统(system of difference
constraints)。
这个不等式组要么无解,要么就有无数组解。因为如果有一组解{ X1, X2, ..., Xn }的话,那么
对于任何一个常数 k,{ X1 + k, X2 + k, ..., Xn + k }肯定也是一组解,因为任何两个数同时加一个
数之后,它们的差是不变的,那么这个差分约束系统中的所有不等式都不会被破坏。

我们已经知道对于这些不等式要么无解,要么有无数组解,我们通过构造,把他们转化成不等式之后(注意转化的时候最好全部转化成小于或者大于,这样比较好处理),构造一张图,然后再图上跑一遍最短路,

若是从原点到终点没有最短路或者有一个负环,那么这就是无解的情况,否则就有解。。。

附:有关图论的一本书(PDF)提取密码:w4xp

备注:资源来自网络

原文地址:https://www.cnblogs.com/suishiguang/p/6204335.html