差分约束系统
一个差分约束系统包含了
{ n 个 变 量 m 个 形 如 x j − x i ≤ b k ( 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/不等式是否有解
主要思想就是将不等式组转换成了图论
将 x j − x i ≤ b k x_j - x_i \leq b_k xj−xi≤bk 建立 i i i → j j j 的有向边
比如说:
{ x 1 − x 0 ≤ 2 x 2 − x 0 ≤ 7 x 3 − x 0 ≤ 8 x 2 − x 1 ≤ 3 x 3 − x 2 ≤ 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
即建立下图:
然后我们如果要求 x 3 − x 0 x_3 - x_0 x3−x0 的最大值,就是求 x 0 x_0 x0 到 x 3 x_3 x3