差分約束系統

2021-07-13 18:48:46 字數 1053 閱讀 7355

先來看一道例題

現有未知數a1

,a2,

⋯,an

,有若干個形如ai

−aj≤

k 的不等式構成的不等式組,求解這個不等式組的一組解。

一眼看下去,好像很難入手。

等一下,是不是有點熟悉?

對於乙個圖的最短路,我們設di

si表示源點到

i 的最短路,那麼如果j−

>

i,那麼滿足:di

si≤d

isj+

wi,j

等等,你發現了什麼?

沒錯,對於這個不等式組,我們可以像圖的最短路問題一樣連邊(ai

−aj≤

k 即點j

到 點

i 連一條邊權為k的單向邊),然後設乙個源點s連向

a1,a

2,⋯,

an,做一次最短路得出的即為一組可行解。

像這樣,由

n 個變數,有若干個形如ai

−aj≤

k約束的系統,就叫差分約束系統,像我們這樣把它構成的圖就叫做差分約束圖

再來看一組例題:

設有n個盒子標號為1…n,每個盒子最多放1個球。其中有若干個[a

i,bi

,ci]

表示ai

~bi最多可放ci

個球,求這n個盒子最多可放多少個球。

這就是典型的求解有若干個形如ai

−aj≤

k 條件約束的差分約束系統。

我們設s

i 表示

1 ~

i放n個球,那麼我們有:0≤

sbi−

sai−

1≤ci

0≤si−si

−1≤1

按照上述方法連邊,做一次最短路,所得的di

sn就是答案(可以證明一下為什麼)。

差分約束系統

差分約束 若 s a s b k 建一條b到a 的長度為k的邊 若s a s b k 建一條b到a 的長度為 k的邊 是求最小值的最長路 是求最大值的最短路 注意到最短路演算法的鬆弛操作 if d j d i w i j d j d i w i j 這其中的三角形不等式 d j d i w i j ...

差分約束系統

差分約束系統 對於差分不等式,a b c 建一條 b 到 a 的權值為 c 的邊,求的是最短路,得到的是最大值 對於不等式 a b c 建一條 b 到 a 的權值為 c 的邊,求的是最長路,得到的是最小值 存在負環的話是無解 求不出最短路 dist 沒有得到更新 的話是任意解 第三 一種建圖方法 設...

差分約束系統

差分約束系統 x1 x2 0 x1 x5 1 x2 x5 1 x3 x1 5 x4 x1 4 x4 x3 1 x5 x3 3 x5 x4 3 不等式組 1 全都是兩個未知數的差小於等於某個常數 大於等於也可以,因為左右乘以 1就可以化成小於等於 這樣的不等式組就稱作差分約束系統。這個不等式組要麼無解...