網路流訓練總結

2021-10-11 19:51:10 字數 1426 閱讀 1365

1.表達圖中點的互斥關係

當我們在解題時,需要取某些點,但是取完這些點後,有些點就不能取了,即點與點之間存在互斥關係。但是網路流中連邊似乎只有關聯的關係,沒有這種互斥關係。

其實我們可以讓互斥的點連邊,流量為無窮大。我們嘗試用最小割分割他們,最小割後,圖不再連通,那麼這條邊永遠不會被走到,即永遠不會發生衝突。

洛谷2774

給定乙個n*m的矩陣,每個點都有權值,取了乙個點後就不能取周圍的點了,求出能取到的最大值。

分析後可知,座標和為奇數的與偶數的互斥,所以構成了一張二分圖。對於二分圖的互斥,我們對互斥的點連流量為無窮大的邊,源點連流量為權值的邊到奇數的點,偶數的點連流量為權值的邊到匯點,跑最小割。割掉某條邊意味著不取這個點,最小割保證了捨棄了盡可能少的權值,那麼答案就是總和減去最小割。

2.取了某些點,就一定要取其後繼節點

如果乙個點被選擇了則後繼必須被選擇,那麼稱該圖是閉合的,求最大的權值和這種問題叫做最大權閉合子圖問題。這種最大權閉合子圖問題採用最小割來做,讓存在關係的點連流量為無窮大的邊,在最小割的時候不會割掉他們,一邊與源點連流量為代價的邊,令一邊與匯點連流量為代價的絕對值邊,答案就為所有的正權邊求和減去最小割。

洛谷2762

有n種實驗,需要一些儀器,每件儀器需要花費一定費用準備,做出實驗能獲利一些費用,要求制定一種方案,使得獲利最大。

這題就是最大權閉合子圖的模板題了,實驗與源點連邊,儀器與匯點連邊,然後減去最小割即可。

若實驗邊被刪去,則說明放棄了這個實驗,若儀器邊被刪去,則說明準備了這個儀器,割的存在保證了不會存在乙個實驗既要做而儀器沒準備好,僅連一條邊保證了每個實驗只做一次,每個儀器也只準備一次,而最小保證了最優解。

3.對於一條邊僅能做出一次貢獻,之後再經過貢獻為0

僅能通過一次且有貢獻,那麼就是連一條流量為1,花費為貢獻的邊。由於之後還能走,所以連一條流量為無窮,花費為0的邊。

4.對於乙個點僅能通過一次,但是可能有多個點會到達它

將這個點拆成兩個點,乙個入點乙個出點,入點與出點連一條流量為1的邊,代表這個點僅能使用一次。

5.輸出最小割下的方案

使用最小割時,題目要求輸出方案。只要從源點可達的點說明都還可以用,即沒被刪去,所以只要dinic結束後看dep陣列即可。

6.網路流中存在一些限制導致決策存在一些損失的模型

當碰到決策中因為一些限制會出現損失的情況,這時候通常可以考慮最小割的模型,將損失連向匯點,利用最小割導致損失最小,從而達到最優解。

一些注意點:

網路流都是有向無環圖,反邊的存在是為了反悔操作。

乙個點若既連起點又連匯點,思考是否應該拆為兩個點來。

網路流總結

今天學的網路流,總的感覺來說稍難,不管是理解還是什麼,但是理解了後,就變得簡單許多。ford fulkerson演算法 是來求最大流量問題,從源點出發,到匯點,到底能多少能流入匯點。演算法 1 從源點出發,找相鄰邊,如果相鄰邊未被找過並且還可以流入流量就dfs。2 更新流入的邊。3 重複操作,直到沒...

網路流總結

今天做了一天的網路流,也發現了很多有趣 有毒 的建圖方法,也算是收穫很多了,這裡就做個總結吧。網路流跑的方法大家都會我就不說了,題考察的重點也就是建圖。建圖就涉及到2個方面 1.建點。建點其實就是網路流的難點了,一般點弄好了邊也容易了。建點的困難就在於有時要拆點,我總結了一下拆點主要是這幾個作用 a...

網路流總結

1.hdu1532 給網路圖,求1 n的最大流.注意邊數 2 2.hdu3572 經典建圖模型,有些東西能轉換為容量考慮 網路流演算法.dinic學了乙個多路增廣優化,能少一次遞迴的時間 1.hdu1533 建圖方式,假設有cntm個人,cnth個房子,分別對應編號 1,cntm cntm 1,cn...