转自http://www.cnblogs.com/ylfdrib/archive/2010/07/20/1781148.html
差分约束系统(system of difference constraints)是线性规划问题的一种。在一个差分约束系统中,线性规划矩阵A的每一行包含一个1和一个-1,A的所有其他元素都为0。因此,由Ax≤b给出的约束条件是m个差分约束集合,其中包含n个未知元。每个约束条件为如下形式的简单线性不等式:
xj-xi≤bk
其中,1≤i, j≤n,1≤k≤m。
例如:寻找一个5维向量x = ( xi )以满足:
这一问题等价于找出未知量x1,x2,x3,x4,x5,满足以下8个差分约束条件:
为保证图的连通,在图中引入附加节点vs使图中每个顶点vi都能从vs可达,并设弧( vs, vi )的权w( vs, vi ) = 0。对于每一个差分约束xj - xi <= bk(注意是小于等于符号),则弧( xi, xj )的权w( xi, xj ) = bk。
初始化dis[ vs ] = 0,dis[ i ] = ∞。
求解以vs为源点的单源最短路径。
求解差约束分系统,关键在于找到约束条件,然后用Bellman-Ford,或SPFA就能做了。
大牛详细讲解:落花
作者:FreeAquar
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。