差分约束系统

本文介绍了差分约束系统的概念,它与图的单源最短路径算法之间的联系,并讨论了解决这类问题的方法。通过将约束条件转化为有向图的边,利用Bellman-Ford或SPFA算法求解。当存在负权回路时,系统无解。文中还提到了不加附加节点vs使用Bellman-Ford算法的可能性,并列举了一些相关的POJ编程题目。
摘要由CSDN通过智能技术生成

 

 

参考:http://hi.baidu.com/fallingflowers/blog/item/c8068c6fbcaddddc80cb4a20.html

 

纠结了我几天,终于搞通了。因为Poj 1364 而开始研究的差分约束系统。

描述:n个未知数x1...xn;m个约束条件形如:xj - xi <= k; 求能满足所有约束条件的未知数的解。

与图的联系:咋一看,实在是看不出来该问题和图有什么联系。其实可以发现约束条件这个不等式和图的单源最短路径算法中的松弛操作极为类似,这样,上述问题可以转换成n个结点m条边的有向图(图不一定连通),其中n个结点分别为n个未知数,m条有向边分别代表m个约束条件,对于条件 xj - xi <= k; 对应着弧<xi,xj>的权值为k(测试了一下xi xj的位置应该可以颠倒).通过求解新建立图的单源最短路经问题就能得到差分约束系统的一组解。

另外,为保证图的连通,在图中引入附加节点vs使图中每个顶点vi都能从vs可达,并设弧<vs,vi>的权w<vs,vi>=0;(实际上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值