參考大佬的部落格:
1.無源匯的可行流
可行流演算法的核心是將乙個不滿足流量守恆的初始流調整成滿足流量守恆的流。
建圖方法:
b(u,i)為從u到i的下界,f為實際流
求解:在新圖上跑ss到tt的最大流 。如果附加邊滿流就說明可行,如何說明是附加邊滿流:即如果最大流的大小等於ss出發的所有邊的流量上限之和(此時指向tt的邊也一定滿流,因為這兩部分邊的流量上限之和相等)。
那麼原圖中每一條邊的流量應為新圖中對應的邊的流量+這條邊的流量下界
2.有源匯的可行流
建圖方法:
將有源匯的可行流轉變成無源匯的可行流
首先新增一條從t回到s的邊,上界是inf,下界是0,轉變成無源匯的可行流
其餘同上
求解:同上
3.有源匯的最大流
建圖方法:
首先套用上面的建圖,求出乙個有源匯有上下界可行流.此時的流不一定最大。
求解:先跑超級源點到超級匯點的最大流,如果此時附加邊滿流,說明存在可行流。
將t到s的這條邊拆掉,跑s到t的最大流。最終的最大流流量=可行流流量(即t到s的無窮邊上跑出的流量)+新增廣出的s-t流量。
或者不拆這條邊,直接跑s到t最大流,最大流的結果即是所求結果。
有上下界網路流
前言 下面寫得只是一些十分基礎的東西,是給我以後自己看的,想要徹底弄明白這個內容,推薦去看liu runda。注 為了方便,下面所有的 x,y,l,r 都表示一條從x連向y,流量下界為l,流量上界為r的邊。問題簡述 給出乙個有向圖,每條邊有流量上下界,沒有源點和匯點,要求找到一種流的方法,使得每個點...
有上下界的網路流
有上下界的網路流 這幾天看了周源的 一種簡易的方法求解流量有上下界的網路中網路流問題 並完成了 sgu 194 zoj 2314 reactor cooling,sgu 176 flow construction 和hoj 2135 poj 2396 budget三道題。作為周源文章中提到的求解上下...
有上下界的網路流
1.無匯源有上下界最大流 以前寫的最大流預設的下界為0,而這裡的下界卻不為0,所以我們要進行再構造讓每條邊的下界為0,這樣做是為了方便處理。對於每根管子有乙個上界容量up和乙個下界容量low,我們讓這根管子的容量下界變為0,上界為up low。可是這樣做了的話流量就不守恆了,為了再次滿足流量守恆,即...