網路流
網路
區分兩個概念:網路(或者流網路 flow network)與網路流(flow)的概念。
網路是指乙個有向圖\(g = (v,e)\)。
每條邊\((u,v) \in e\) 都有乙個權值\(c(u,v)\),稱之為容量,當\((u,v) \notin e\)時有\(c(u,v)=0\)。
其中有兩個特殊的點:源點\(s \in v\)和匯點\(t \in v\),\((s \not= t)\)。
流
設\(f(u,v)\)定義在二元組\((u \in v,v \in v)\) 上的實數函式且滿足以下性質:
那麼\(f\)稱為網路\(g\)的流函式。對於\((u,v) \in e,f(u,v)\)稱為邊的流量,\(c(u,v) - f(u,v)\)稱為邊的剩餘容量。整個網路的流量為\(\sum _f(s,v)\),即從源點出發的所有流量之和。
一般而言可以把網路流理解為整個圖的流量。而這個流量未必滿足上述三個性質。
流函式的完整定義為
\[f(u,v) =
\left\
f(u,v) ,(u,v) \in e \\
-f(v,u),(v,u) \in e \\
0,(u,v) \notin e,(v,u)\notin e
\end
\right.
\]網路流常見問題
網路流問題中常見的有以下三種:最大流,最小割,費用流
最大流
我們有一張圖,求從源點流向匯點的最大流量(可以有很多條路到達匯點),就是我們的的最大流。
最小費用最大流
最小費用最大流問題是這樣的:每條邊都有乙個費用,代表單位流量流過這條邊的開銷。我們要在求出最大流的同時,要求花費的費用最小。
最小割
割就是刪邊的意思,當然最小割就是刪掉\(x\)條邊來讓\(s\)跟\(t\)不互通,我們要求從\(x\)條邊加起來的流量綜合最小。這就是最小割問題。
網路流簡介
本系列文章只討論網路流在資訊學奧賽中的應用 網路流在資訊學奧賽中是乙個非常龐大的體系,因為該知識點的模型多變,建模方式複雜,對選手的能力要求較高,因此在各種中高難度級別的比賽中都時常能見到它的身影。起碼sdoi幾乎是一年一次 網路流屬於圖論問題,而圖論問題本質上還是數學問題,因此網路流中的每個結論都...
網路流 費用流
這個好像不考 沒事可以騙分 費用流,顧名思義,就是有費用的流,也就是說,給乙個網路流圖中的每條弧增加乙個單位流量費用。一般來說求解的費用流都是最大流最小費用。好像沒什麼好bb的 這裡推薦使用zkw演算法求解最小費用流,看著 理解就行,應該還是很好理解的。zkw演算法在稠密圖上跑得飛快,在稀疏圖上還不...
網路流 費用流
網路流有很多種類 其中最大流 有增廣路演算法和預流推進演算法。增廣路演算法就是不斷的新增增廣路。其中的dinic演算法。會稍微提到isap演算法 poj1273 首先想到dfs一直往後延伸,然後從源點到匯點計算每條路,但是這樣只是單條路的最值,有時可能因為走一條路而間接的認定了除這條路以外的某個路通...