上下界網路流學習筆記

2022-08-22 03:24:11 字數 1100 閱讀 2264

一些點,一堆邊,每條邊要滿足流量限制\([l,r]\)

先令每條邊流量等於流量下限,得到初始流,初始流可能不滿足流量守恆,再建出殘量網路(上限-下限),求出可能不滿足流量守恆的附加流,使附加流和初始流合併後滿足流量守恆

定義\(a[i]\)表示初始流中流入量-流出量

若\(a[i]>0\)表示流入量大於流出量,附加量需要流入量小於流出量

若\(a[i]<0\)表示流入量小於流出量,附加量需要流入量大於流出量

若\(a[i]=0\)表示流入量=流出量,附加中流入量等於流出量

問題變為多餘的流入量和流出量從哪來

新建虛擬結點\(ss\)和\(tt\)

對於\(a[i]>0\),附加量流出量大於流入量,\(i\)向\(tt\)連一條\(a[i]\)的邊

\(a[i]<0\),附加量流入量大於流出量,\(ss\)向\(i\)連一條\(-a[i]\)的邊

最後,每條邊的可行流\(=\)流量下界\(+\)附加流中這條邊的流量

有原點\(s\)和匯點\(t\),還有一些邊,每條邊有乙個限制\([l,r]\)

即使有了源和匯,也可以轉換為無源匯,因為\(s\)的流出量\(=t\)的流入量,就從\(t\)向\(s\)連一條下界為\(0\)上界為\(+\infty\)的邊,跑無源匯上下界可行流,最終的可行流就是\(t\)到\(s\)的邊上的流量

有原點\(s\)和匯點\(t\),還有一些邊,每條邊有乙個限制\([l,r]\),求出最大流

先求出可行流,再從原圖殘量網路中求出最大流,最大流就是可行流\(+\)最大流

有原點\(s\)和匯點\(t\),還有一些邊,每條邊有乙個限制\([l,r]\),求出最小流

先求出可行流

因為dinic中,反向邊流量增加\(=\)正向邊流量減小,所以,從\(t\)向\(s\)求一邊最大流,可行流大小-\(t\)到\(s\)的最大流就是最小流

建邊:對於邊\(u\to v\),費用為\(w\),流量為\([l,r]\)

建成三條:

\(s\to v\),費用為\(w\),流量為\(l\)

\(u\to t\),費用為\(0\),流量為\(l\)

\(u\to v\),費用為\(w\),流量為\(r-l\)

跑最小費用最大流

學習筆記 上下界網路流

上下界網路流本質上是給流量網路的每一條便設定了流量上界 c u,v 和下界 b u,v 無源匯上下界可行流 給定無源匯流量網路 g 詢問是否存在一種標定每條邊流量的方式,使得每條邊流量滿足上下界同時每乙個點流量平衡。不妨假設每條邊已經流了 b u,v 的流量,設其為初始流。同時我們在新圖中加入 u ...

上下界網路流及費用流學習筆記

前言 不錯的文章 無源匯上下界可行流 模型 乙個網路,求出乙個流,使得每條邊的流量必須 l ge l l且 r le r r,每個點必須滿足總流入量 總流出量 流量守恆 這個流的特點是迴圈往復,無始無終 考慮到如果存在乙個可行流,那麼每條邊的流量至少是 l ll,於是我們可以預先讓它先流 lll 這...

上下界網路流學習小計

有上下界的網路流。網路流有了建圖,其他都是浮雲。設立超級源ss和超級匯tt,原來的s和t還是有的。上下界網路流的建圖最好感性的理解,因為證明很複雜,就當做黑盒演算法。t向s連一條容量為 的邊。有一條u連向v的邊,下線為l,上限為r,那麼我們從s到u連 的邊,v到t連 的邊,從u到v連一條r l的邊。...