網絡流


dinic 復雜度:

所有邊容量都是1:$$O(min(V^{2 \over 3},E^{1\over 2})\times E)$$
分層圖存在一層容量都是1:$$O(E^{3\over 2})$$
在單位網絡上:$$O(V^{1\over 2}\times E)$$

最小割:

\(~~~~\)處理沖突問題,多種收益只能選幾個,把不割的邊當作選的收益,割邊當作舍棄收益。
\(~~~~\)經典模型:每個點有兩種選擇,兩種收益,指定兩人選不同種會減小收益(或選同種增大收益……)。
\(~~~~\)存在一些二者只能選其一的限制,只有當點一定能分成2個集合,內部沒有限制(連邊)(即二分圖),才能從最小割角度解決。
\(~~~~\)從割的角度建圖,點數\(~\ge~\)三層會自閉。
\(~~~~\)最小割加深理解(19冬令營&省選線上集訓)

最大流:

\(~~~~\)處理有下限是否有解問題,把下限再源點匯點處控制好,若有最大流則有解。
\(~~~~\)無法理解:P3163 [CQOI2014]危橋。

費用流:

Johnson算法:

匹配:

線性規划:

志願者招募

解方程:

如果出現負數,就調整這些邊的意義使之成為正數,再染色讓調整的邊的兩端點顏色不同,未調整的邊的兩端點顏色相同,若可以染色,則有解,否則不可做。

特殊圖:

有負環無源無匯有源有匯有上下界最小最大費用流

二分圖:

\(~~~~\)最大匹配/最大權匹配。
\(~~~~\)最小點覆蓋/最小權點覆蓋->最大獨立集/最大權獨立集。
\(~~~~\)最小邊覆蓋/最小權邊覆蓋。
\(~~~~hall\)定理:二分圖存在完美匹配等價於左側任意一個點子集向右側連邊的右部點的個數大於等於子集大小。
\(~~~~d(u)+d(v)\ge\)\(\le s(u,v)\)轉化成KM算法求頂標。

其他套路:

網格圖黑白染色。
平面圖最小割=對偶圖最短路。
覆蓋K次/選K(個/次)->有k條增廣路。例子
流量平衡。
流的調整:最大流(殘余網絡上的環)、費用流(殘余網絡上的零環)。
最大密度子圖->最大權閉合子圖。
組隊問題,時間分配問題。
多次操作,只有第一次有收獲,一條容量1費用為收獲的邊,一條容量INF費用0的邊。
給點和邊賦予實際意義直接模擬操作例子

最小路徑覆蓋例子
最小權路徑覆蓋例子
一個元素建一條鏈代表階段(多項選擇),鏈上邊的容量代表選擇這條邊的結果,鏈與鏈之間選點連正無窮邊代表限制。

規律 1. 如果幾個結點的流量的來源完全相同,則可以把它們合並成一個。
規律 2. 如果幾個結點的流量的去向完全相同,則可以把它們合並成一個。
規律 3. 如果從點 u 到點 v 有一條容量為∞的邊,並且點 v 除了點 u 以外沒有別的流量來源,則可以把這兩個結點合並成一個。

經驗積累:

網絡流的難點在於流量具有相同性沒法控制多種不同的流,我們想辦法找到不同流中的相同點與不同點,僅僅在需要區分的時候想辦法區分例子

problems:

CF786E
AGC029F
GCJ2017 Round2D Shoot the Turrets
ASC15 I King’s Inspection
Codechef PUSHFLOW
費用和流量的平方成線性關系\((cost=p\times x\times x)\):拆邊,費用為\(p,3p,5p\cdots\)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM