软件工程师培训学校,网站优化外包找谁,网站开发项目总结报告,58网站建设 网站制作一直不知道差分约束是什么类型题目#xff0c;最近在写最短路问题就顺带看了下#xff0c;原来就是给出一些形如x-yb不等式的约束#xff0c;问你是否满足有解的问题
好神奇的是这类问题竟然可以转换成图论里的最短路径问题#xff0c;下面开始详细介绍下
比如给出三…一直不知道差分约束是什么类型题目最近在写最短路问题就顺带看了下原来就是给出一些形如x-yb不等式的约束问你是否满足有解的问题
好神奇的是这类问题竟然可以转换成图论里的最短路径问题下面开始详细介绍下
比如给出三个不等式,b-ak1,c-bk2,c-ak3,求出c-a的最大值,我们可以把a,b,c转换成三个点k1k2k3是边上的权如图 由题我们可以得知这个有向图中由题b-ak1,c-bk2,得出c-ak1k2,因此比较k1k2和k3的大小求出最小的就是c-a的最大值了
根据以上的解法我们可能会猜到求解过程实际就是求从a到c的最短路径没错的….简单的说就是从a到c沿着某条路径后把所有权值和k求出就是c -ak的一个
推广的不等式约束既然这样满足题目的肯定是最小的k也就是从a到c最短距离…
理解了这里之后想做题还是比较有困难的因为题目需要变形一下不能单纯的算..
首先以poj3159为例,这个比较简单就是给出两个点的最大差然后让你求1到n的最大差直接建图后用bellman或者spfa就可以过了
稍微难点的就是poj1364因为他给出的不等式不是x-yk形式有时候是大于号这样需要我们去变形一下并且给出的还是,没有等于都要变形
再有就是poj1201他要求出的是最长距离那就要把形式变换成x-yk的标准形式
注意点:
1. 如果要求最大值想办法把每个不等式变为标准x-yk的形式,然后建立一条从y到x权值为k的边,变得时候注意x-ylt; k x-ylt; k-1如果要求最小值的话,变为x-yk的标准形式然后建立一条从y到x的k边求出最长路径即可
2.如果权值为正用djspfabellman都可以如果为负不能用dj并且需要判断是否有负环有的话就不存在