網路流入門術語定理

2021-08-07 10:38:43 字數 1579 閱讀 8878

容量網路:

設g(v,e),是乙個有向網路,在v中指定了乙個頂點,稱為源點(記為vs),以及另乙個頂點,稱為匯點(記為vt);對於每一條弧

弧的流量:

通過容量網路g中每條弧

網路流:

所有弧上流量的集合f=,稱為該容量網路的乙個網路流.

可行流:

在容量網路g中滿足以下條件的網路流f,稱為可行流.

a: 弧流量限制條件: 0<=f(u,v)<=c(u,v);

b: 平衡條件:即流入乙個點的流量要等於流出這個點的流量,(源點和匯點除外).

最大流:

在容量網路中,滿足弧流量限制條件,且滿足平衡條件並且具有最大流量的可行流,稱為網路最大流,簡稱最大流.

弧的型別:

a. 飽和弧: 即f(u,v)=c(u,v);

b. 非飽和弧: 即f(u,v)

增廣路:

設f是乙個容量網路g中的乙個可行流,p是從vs到vt 的一條鏈,若p滿足以下條件:

a. p中所有前向弧都是非飽和弧,

b. p中所有後向弧都是非零弧.

則稱p為關於可行流f 的一條增廣路。沿這增廣路改進可行流的操作稱為增廣.

殘留容量:

給定容量網路g(v,e),及可行流f, 弧 (u,v)上的殘留容量記為cl(u,v)=c(u,v)-f(u,v).每條弧上的殘留容量表示這條弧上可以增加的流量.因為從頂點u到頂點v的流量減少,等效與從頂點v到頂點u的流量增加,所以每條弧(u,v)上還有乙個反方向的殘留容量l(v,u)=-f(u,v)。

殘留網路:

設有容量網路g(v,e)及其上的網路流f,g關於f的殘留網路記為g(v』,e』).其中g』的頂點集v』和g中頂點集g相同,v』=v.對於g中任何一條弧(u,v),如果f(u,v) < c(u,v),那麼在g』中有一條弧(u,v)屬於e』,其容量為c』(u,v)=c(u,v)-f(u,v),如果f(u,v)>0,則在g』中有一條弧(v,u)屬於e』,其容量為c』(v,u)=f(u,v).殘留網路也稱為剩餘網路。

層次圖:

假設在殘量網路中,起點到結點u的距離為dist(u),我們把dist(u)看做結點u的層次,只保留每個點出發到下乙個層次的弧,得到的圖就叫層次圖。

割:將所有頂點v分成兩個集合, s 和 t = v-s, 其中源點s在集合s中,匯點在集合t中,將所有起點在s,終點在t的邊的權值加起來(注意t到s的不算),就是乙個s-t割。

最大流==最小割

最大流演算法:

dinic演算法: 時間複雜度 o(點數^0.5 * 邊數) < otime < o(點數^2 * 邊數)

1. 在殘量網路上根據bfs建立層次圖

2. 在層次圖上使用dfs進行增廣

3. 重複2直至不存在增廣路

4. 重複123直至殘量網路上無法從源點留至匯點

isap演算法: gap+優化後,實際時間複雜度要小於dinic

最小費用最大流:

設每條邊除了有乙個容量外,還有乙個費用,即問總流量最大的前提下,總費用最小的流。 演算法過程:

1. 在殘量網路上利用spfa找到cost和最小的路徑

2. 增廣cost和最小的路徑

3. 重複12直至殘量網路上無法從源點留至匯點

網路流入門

網路流的最經典應用就是最大流.給定乙個圖.給出每條邊能流過的最大流量.求源點到匯點的最大流量.求解網路流的基本思想就是每次尋找增廣路 就是源點到匯點的一條可行路 然後ans 增廣路能流過的流量.更新剩餘網路.然後再做增廣路.直到做不出增廣路.關於網路流入門最難理解的地方就是剩餘網路了.為什麼在找到一...

網路流入門

通常可以把這些邊想象成道路,流量就是這條道路的車流量,容量就是道路可承受的最大的車流量。很顯然的,流量 容量。而對於每個不是源點和匯點的點來說,可以模擬的想象成沒有儲存功能的貨物的中轉站,所有 進入 他們的流量和等於所有從他本身 出去 的流量。求解思路 首先,假如所有邊上的流量都沒有超過容量 不大於...

網路最大流入門

網路最大流是網路流中最基礎也是最重要的部分,後邊的許多模型也都是由最大流問題引申而來的 在研究這個問題之前,讓我們先來學習一下前置知識 設 f u,v 表示邊 u,v 的當前容量上限 設 c u,v 表示邊 u,v 的最大容量上限 如果網路流圖中的流量滿足 則稱該流為乙個可行流 增廣 即增加一條路徑...