差分约束系统

差分约束是把形如  ai - bi >= ci  (ai - bi <= ci)  这类型的不等式组转化为为图, 然后求最长路(最短路)。

所以关键点是找出足够的约束关系来建图;

对于不等式ai >= bi + ci ,意思是所有的不等式都要满足这样子的形态,  那么我们建一条从bi->ai权重为ci的边,然后对整个图求最长路, 那么最终的结果就有ai >= bi +ci

这是根据最短路的性质。

同理,对于不等式 ai <= bi + ci,我们建一条从bi->ai权重为ci的边,然后对整个图求最短路,那么最终的结果就有ai <= bi +ci

 

 poj1201

   虽然给了我们一些不等式条件,但是仍要我们去找出隐藏的不等式条件。 难就难在这里; 题解

 poj1364

  题可能是不连通的,难点就是在不连通的图怎么求是不是有环, 还有就是这题最短路能过,最长路不能过。 题解

 

其实就是建图之后,做这些工作

如果图不连通怎么办
怎么判断最长路有正权环
怎么判断最短路有负权环
怎么判断不连通的图是不是有环

 

参考:[研究]最短路、最长路与差分约束的最大解、最小解

     超强ACM培训课件 提高篇 Bellman-Ford算法与差分约束系统.ppt

         差分约束小结

posted @ 2015-05-17 14:10  justPassBy  阅读(163)  评论(0编辑  收藏  举报