差分约束系统
一个差分约束系统包含了
{
n个变量m个形如xj−xi≤bk(i,j∈[1,n],k∈[1,m])约束条件 \left\{ \begin{array}{l} n个变量\\ m个形如 x_j - x_i \leq b_k (i, j ∈[1, n], k∈[1, m]) 约束条件\\ \end{array} \right. {
n个变量m个形如xj−xi≤bk(i,j∈[1,n],k∈[1,m])约束条件
可以通过差分约束求MAX/MIN/不等式是否有解
主要思想就是将不等式组转换成了图论
将 xj−xi≤bkx_j - x_i \leq b_kxj−xi≤bk 建立 iii → jjj 的有向边
比如说:
{
x1−x0≤2x2−x0≤7x3−x0≤8x2−x1≤3x3−x2≤2 \left\{ \begin{array}{l} x_1 - x_0 \leq 2\\ x_2 - x_0 \leq 7\\ x_3 - x_0 \leq 8\\ x_2 - x_1 \leq 3\\ x_3 - x_2 \leq 2\\ \end{array} \right. ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧x1−x0≤2x2−x0≤7x3−x0≤8x2−x1≤3x3−x2≤2
即建立下图:
然后我们如果要求 x3−x0x_3 - x_0x3−x0 的最大值,就是求 x0x_0x0 到 x3x_3x3 的最短路径
不等式组标准化
- 求 min(xj−xi)min(x_j - x_i)