【筆記】最小割?
阿新 • • 發佈:2022-04-12
wtcl 不會最小割。。。
經典模型:\(n\) 個物品放到兩個集合 \(A,B\)。第 \(i\) 個物品不放入 \(A\) 集合的花費是 \(A_i\),不放入 \(B\) 集合的花費是 \(B_i\)。另有若干個形如 \((u,v,w)\) 的限制,表示如果 \(u\) 和 \(v\) 如果不放在同一個集合的花費是 \(w\)。求花費的最小值。
將一個點和源點 \(S\) 相連視作放入集合 \(A\),和匯點 \(T\) 相連視作放入集合 \(B\)。那麼把一些邊割開就可以看作時不放入某個集合的代價。於是我們先不考慮 \((u,v,w)\) 的限制,建出如下的粗略模型:
這個圖的最小割的含義就是把每個點恰放入一個集合需要的最小花費。
然後考慮加入 \((u,v,w)\) 的限制。首先假設 \(1\) 號點放在集合 \(A\),\(2\) 號點放在集合 \(B\),此時上圖中 a2,b1 的邊會被割掉。想要此時最小割值增加 \(w\) 的話應當連一條(1,2,w)的邊。同理,\(1\) 號點放在集合 \(B\),\(2\) 號點放在集合 \(A\) 的情況應當連一條 (2,1,w) 的邊。
似乎加邊的工作就做完了。但是,加邊會不會導致本來不連通的情況變得連通?並不會。對 1 號點和 2 號點所屬集合分類討論,發現不存在這種情況。