差分約束是把形如 ai - bi >= ci (ai - bi <= ci) 這型別的不等式組轉化為為圖, 然後求最長路(最短路)。
所以關鍵點是找出足夠的約束關係來建圖;
對於不等式ai >= bi + ci ,意思是所有的不等式都要滿足這樣子的形態, 那麼我們建一條從bi->ai權重為ci的邊,然後對整個圖求最長路, 那麼最終的結果就有ai >= bi +ci
這是根據最短路的性質。
同理,對於不等式 ai <= bi + ci,我們建一條從bi->ai權重為ci的邊,然後對整個圖求最短路,那麼最終的結果就有ai <= bi +ci
poj1201
雖然給了我們一些不等式條件,但是仍要我們去找出隱藏的不等式條件。 難就難在這裡; 題解
poj1364
題可能是不連通的,難點就是在不連通的圖怎麼求是不是有環, 還有就是這題最短路能過,最長路不能過。 題解
其實就是建圖之後,做這些工作
如果圖不連通怎麼辦
怎麼判斷最長路有正權環
怎麼判斷最短路有負權環
怎麼判斷不連通的圖是不是有環
參考:[研究]最短路、最長路與差分約束的最大解、最小解
超強acm培訓課件 提高篇 bellman-ford演算法與差分約束系統.ppt
差分約束小結
差分約束系統
差分約束 若 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就可以化成小於等於 這樣的不等式組就稱作差分約束系統。這個不等式組要麼無解...