写在前面的..
在做POI的时候看到一题要用到差分约束的..
然后就兴致勃勃的去学习了差分约束..
结果发现那一题只是运用到了差分约束系统的性质而已.. 然后套个Tarjan++Floyd
所以并没有什么卵用..
这到底是个啥呢..
举个比较简单的例子吧..
n
个数,
那么就把式子化一下 dj≤di+a ,那么这就是个spfa最短路的模型了..
如果该图存在负环,那么就表示并不会存在这么个序列..
hdu3666 THE MATRIX PROBLEM
题意:有一个 n×m 的矩阵,问你能不能通过把同一行或同一列乘一个数或者除以一个数,使得最后每个数都属于 [L,U] ..
设
ai
为第
i
行乘的数,
那么对于一个
然后同时除以 Ci,j ,得 LCi,j≤aibj≤UCi,j ..
把除转换成减,就要用到对数: lgL−lgCi,j≤lgai−lgbj≤lgU−lgCi,j ..
那么运用这个公式进行差分约束就好了啊0.0..
uva11478 Halum
题意:有一个有向图,每条边有边权,然后有这么个操作
Halum(v,d)
,把连向
v
的所有边减去
二分一个可能的值
mid
,对于一条从
u
到
那么就差分约束就行了啊..
hdu3440 House Man
题意:有N个在一条直线上的房子, 每个房子有着不同的高度, 一个超人可以将这些房子左右移动但不能改变房子之间的相对位置.现在超人要从最矮的房子跳到刚好比他高的房子上面, 且每次跳的房子都要比当前房子要高.那么最后超人肯定会跳到最高的房子上面, 现在给出超人能够跳的最远距离, 问: 如何摆放这些房子, 使得超人能够经过所有的房子跳到最高的房子, 又要使最矮的房子和最高的房子之间的距离最远??(摘自discuss..)
你肯定看不懂题意0.0..(逃)
设第
i
个房子的位置是
然后差分约束搞搞即可..
hdu3592 World Exhibition
题意:有
n
头牛排成一列,中间有距离,其中有
第一种条件给出
第二种条件给出
A
,
那么不就是显而易见的吗0.0..
bzoj4500 矩阵
对于每一个条件,就可以得到: Ci,j≤ai−bj≤Ci,j
直接套啊0.0..
bzoj2788 [Poi2012]Festival
详见开坑了啦啦啦..