差分约束
1.差分约束系统(system of difference constraints)
如果一个系统由n个变量和m个约束条件组成,形成m个形如ai-aj≤k的不等式(i,j∈[1,n],k为常数),则称其为差分约束系统(system of difference constraints)。亦即,差分约束系统是求解关于一组变量的特殊不等式组的方法。
求解差分约束系统,可以转化成图论的单源最短路径(或最长路径)问题。
——百度百科
如下列的不等式组
x1-x5≤-1
x2-x5≤1
x3-x1≤5
x4-x1≤4
x4-x3≤-1
x5-x3≤-3
x5-x4≤-3
比如1式 x1-x5≤-1,其中一个未知数x1与x5的差小于等于-1,就相当于设两个未知数x,y差为某一常数,由这些不等式构成的不等式方程组为差分约束系统。
2.例题
小K的农场
关于洛谷一道蓝题。
P1993 小K的农场
但因为在另一篇题解中写过了,所以不多做阐述,解题看好差分约束条件就行了。
小K的农场(差分约束)题解
然后是另外两道题
蒜头君的银行卡
Description
虽然蒜头君并没有多少钱,但是蒜头君办了很多张银行卡,共有 n 张,以至于他自己都忘记了每张银行卡里有多少钱了。他只记得一些含糊的信息,这些信息主要以下列三种形式描述:
银行卡 a 比银行卡 b 至少多 c 元。
银行卡 a 比银行卡 b 至多多 c 元。
银行卡 a 和银行卡 c 里的存款一样多。
但是由于蒜头君的记忆有些差,他想知道是否存在一种情况,使得银行卡的存款情况和他记忆中的所有信息吻合。
Input
第一行输入两个整数 n 和 m,分别表示银行卡数目和蒜头君记忆中的信息的数目。(1≤n,m≤10000)
接下来