查分约束

如果一个系统由n个变量和m个约束条件组成,其中每个约束条件形如xj-xi<=bk(i,j∈[1,n],k∈[1,m]),则称其为差分约束系统(system of difference constraints)。亦即,差分约束系统是求解关于一组变量的特殊不等式组的方法。

求解差分约束系统,可以转化成图论的单源最短路径(或最长路径)问题。


在单源最短路中,dis[ u ] 表示 从源点到 u 这个点的最短路,在有向图,如果把dis[ u ]看成每个点的一个属性的话,那么这个图中,对于u--> v 这条有向边,一定会有这么一个性质: dis[ v ]<=dis[ u ]+w(u,v).


而查分约束正是根据 xj-xi<=bk;(即xj<=xi+bk 注意要有等于号=)。求是否存在f[ i ]满足所有的 形如(f[ v ]<=f[ u ]+w(u,v ))不等式或者求出指定的f[ i ]。(也就是求出所有的一个查分约束xj-xi<=bk的一个解)。这样的话,xj是j点的一个属性,xi 是i点的一个属性,bk即w(i,j)是i 指向 j 的一条有向边上的 边权,只要 求出每个点的最短路,就会满足所有的 xj<= xi+bk ; 因为最短路一定会满足这个性质使得 dis[ v ]<=dis[ u ]+w(u,v);


于是查分约束,就是建出所有的点和边之后,求每个点的最短路。如果存在负权环的话就无解。

注意: 1.是否有负权环。 2.建立关系时要有 等号 = ,如果小于号 ,又是整数的话,可以处理一下。。  xj<xi+bk 。如果bk 是整数的话,这个关系就等价于 xj<= xi +bk-1 。。 3 、一定要找出题目中包含的隐藏关系。

补充:所求的结果就是 所构成的图上的一条边的属性。

你可能感兴趣的:(查分约束)