差分约束小结0.0..

写在前面的..

在做POI的时候看到一题要用到差分约束的..

然后就兴致勃勃的去学习了差分约束..

结果发现那一题只是运用到了差分约束系统的性质而已.. 然后套个Tarjan++Floyd

所以并没有什么卵用..


这到底是个啥呢..

举个比较简单的例子吧..

n 个数, m 条限制,每条限制 djdia ,然后求是否存在这么个序列..

那么就把式子化一下 djdi+a ,那么这就是个spfa最短路的模型了..

如果该图存在负环,那么就表示并不会存在这么个序列..


hdu3666 THE MATRIX PROBLEM

题意:有一个 n×m 的矩阵,问你能不能通过把同一行或同一列乘一个数或者除以一个数,使得最后每个数都属于 [L,U] ..

ai 为第 i 行乘的数, bj 为第 j 列除以的数..

那么对于一个 Ci,j ,就有 LCi,jaibjU ..

然后同时除以 Ci,j ,得 LCi,jaibjUCi,j ..

把除转换成减,就要用到对数: lgLlgCi,jlgailgbjlgUlgCi,j ..

那么运用这个公式进行差分约束就好了啊0.0..


uva11478 Halum

题意:有一个有向图,每条边有边权,然后有这么个操作 Halum(v,d) ,把连向 v 的所有边减去 d ,把从 v 连出去的边加上 d ,求从 1 n 的最短的边的最大值,如果不存在就输出No Solution,如果可以无穷大就输出Infinite

二分一个可能的值 mid ,对于一条从 u v 的边,用 sumi 表示点 i 的操作次数,就有: midw(u,v)+sumusumv

那么就差分约束就行了啊..


hdu3440 House Man

题意:有N个在一条直线上的房子, 每个房子有着不同的高度, 一个超人可以将这些房子左右移动但不能改变房子之间的相对位置.现在超人要从最矮的房子跳到刚好比他高的房子上面, 且每次跳的房子都要比当前房子要高.那么最后超人肯定会跳到最高的房子上面, 现在给出超人能够跳的最远距离, 问: 如何摆放这些房子, 使得超人能够经过所有的房子跳到最高的房子, 又要使最矮的房子和最高的房子之间的距离最远??(摘自discuss..)

你肯定看不懂题意0.0..(逃)

设第 i 个房子的位置是 posi ,第 i 个的编号为 x ,第 i+1 个的编号为 y ,那么就有: yxposyposxd

然后差分约束搞搞即可..


hdu3592 World Exhibition

题意:有 n 头牛排成一列,中间有距离,其中有 X 个第一种条件,有 Y 个第二种条件
第一种条件给出 A B C ,表示 disBdisAC
第二种条件给出 A B C ,表示 disBdisAC

那么不就是显而易见的吗0.0..


bzoj4500 矩阵

对于每一个条件,就可以得到: Ci,jaibjCi,j

直接套啊0.0..


bzoj2788 [Poi2012]Festival

详见开坑了啦啦啦..

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