12.20 差分约束学习笔记
2017-03-17 16:15
225 查看
先来看一组不等式:
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
备注:资源来自网络
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
备注:资源来自网络
相关文章推荐
- 12.20 差分约束学习笔记
- |算法讨论|差分约束 学习笔记
- 差分约束 学习笔记
- 2014.11.22 差分约束学习笔记
- MySQL学习笔记1(建表和约束)
- sql语句学习笔记(8)-添加约束,实现数据完整性
- MySQL学习笔记4:完整性约束
- 关于SQLServer2005的学习笔记——约束、Check、触发器的执行顺序
- 遗传算法与直接搜索工具箱学习笔记 三-----目标函数的约束
- 【unity学习笔记】unity优化DrawCall 及动态批处理的约束
- MySQL学习笔记之数据定义表约束,分页方法总结
- MATLAB学习笔记03——无约束一维极值问题(一)进退法和黄金分割法
- MySQL学习笔记4:完整性约束
- Flex学习笔记作用域与布局约束
- 【数据库学习笔记】MySQL_02_查询,约束
- MySQL学习笔记4:完整性约束限制字段
- xml学习笔记2--DTD约束
- 《算法导论》笔记 第24章 24.4 差分约束与最短路径
- MySQL学习笔记--2数据表约束
- 差分约束笔记