【模板】EK求最大流、dinic求最大流
生活随笔
收集整理的這篇文章主要介紹了
【模板】EK求最大流、dinic求最大流
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ACM模板
目錄
- 概念
- EK算法
- Dinic算法
概念
yxc老師的部分總結
1.1 流網絡,不考慮反向邊
1.2 可行流,不考慮反向邊
1.2.1 兩個條件:容量限制、流量守恒
1.2.2 可行流的流量指從源點流出的流量 - 流入源點的流量
1.2.3 最大流是指最大可行流
1.3 殘留網絡,考慮反向邊,殘留網絡的可行流f’ + 原圖的可行流f = 原題的另一個可行流
1.4 增廣路徑
1.5 割
1.5.1 割的定義
1.5.2 割的容量,不考慮反向邊,“最小割”是指容量最小的割。
1.5.3 割的流量,考慮反向邊,f(S, T) <= c(S, T)
1.5.4 對于任意可行流f,任意割[S, T],|f| = f(S, T)
1.5.5 對于任意可行流f,任意割[S, T],|f| <= c(S, T)
1.5.6 最大流最小割定理
(1) 流f是最大流
(2) 流f的殘留網絡中不存在增廣路
(3) 存在某個割[S, T],|f| = c(S, T)
1.6. 算法
1.6.1 EK O(nm^2)
1.6.2 Dinic O(n^2m)
1.7 應用
1.7.1 二分圖
(1) 二分圖匹配
(2) 二分圖多重匹配
1.7.2 上下界網絡流
(1) 無源匯上下界可行流
(2) 有源匯上下界最大流
(3) 有源匯上下界最小流
1.7.3 多源匯最大流
EK算法
鏈式前向星初始化-1版本 0正邊 1反邊
S源點 T匯點
d[]流量 pre[]前向邊
存圖存的是殘留網絡
時間復雜度:O(nm2)O(nm^2)O(nm2)
Dinic算法
模擬隊列
時間復雜度:O(n2m)O(n^2m)O(n2m)
總結
以上是生活随笔為你收集整理的【模板】EK求最大流、dinic求最大流的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 冰糖葫芦的糖是怎么熬出来的
- 下一篇: 【模板】最大流之上下界可行流