上下界網路流本質上是給流量網路的每一條便設定了流量上界\(c(u,v)\)和下界\(b(u,v)\)
無源匯上下界可行流
給定無源匯流量網路\(g\) 。詢問是否存在一種標定每條邊流量的方式,使得每條邊流量滿足上下界同時每乙個點流量平衡。
不妨假設每條邊已經流了\(b(u,v)\)的流量,設其為初始流。同時我們在新圖中加入\(u\)連向\(v\)的流量為\(c(u,v) - b(u,v)\)的邊。考慮在新圖上進行調整至滿足流量平衡關係。
考慮設初始流入流量減初始流出流量為\(m\):
若\(m > 0\),此時入流量過量,其向 \(t'\) 連流量為\(|m|\)的附加邊。
若\(m < 0\),此時出流量過少,\(s'\) 向其連流量為\(|m|\)的附加邊。
然後跑\(s' \to t'\)的最大流,若\(s'\)的出邊均滿流,則存在可行流。
有源匯上下界可行流
把\(t\)到\(s\)設一條\([0,\infty]\)的邊即可轉為無源匯的上下界可行流問題。
有源匯上下界最大流
給定有源匯流量網路\(g\)。詢問是否存在一種標定每條邊流量的方式,使得每條邊流量滿足上下界同時除了源點和匯點每乙個點流量平衡。如果存在,詢問滿足標定的最大流量。
我們找到網路上的任意乙個可行流。如果找不到解就可以直接結束。
否則我們考慮刪去所有附加邊之後的殘量網路並且在網路上進行調整。
我們在殘量網路上再跑一次 \(s\)到\(t\)的最大流,將可行流流量和最大流流量相加即為答案。
有源匯上下界最小流
改為跑\(t\)到\(s\)的最大流退流即可。
學習筆記(上下界)
關於上下界網路流學習筆記 無源無匯可行流 首先對於無源無匯,也就是迴圈流,是沒有最大流之說的。對於每一條邊有乙個流量下界down,和流量上界up,那我們使得此邊流量為up down,但這樣因為每條邊減少的流量不一樣,所以會導致流量不守恆,解決方式 因為流入每個點的流量都被剪掉了乙個下界,所以從超級源...
上下界網路流學習筆記
一些點,一堆邊,每條邊要滿足流量限制 l,r 先令每條邊流量等於流量下限,得到初始流,初始流可能不滿足流量守恆,再建出殘量網路 上限 下限 求出可能不滿足流量守恆的附加流,使附加流和初始流合併後滿足流量守恆 定義 a i 表示初始流中流入量 流出量 若 a i 0 表示流入量大於流出量,附加量需要流...
上下界網路流及費用流學習筆記
前言 不錯的文章 無源匯上下界可行流 模型 乙個網路,求出乙個流,使得每條邊的流量必須 l ge l l且 r le r r,每個點必須滿足總流入量 總流出量 流量守恆 這個流的特點是迴圈往復,無始無終 考慮到如果存在乙個可行流,那麼每條邊的流量至少是 l ll,於是我們可以預先讓它先流 lll 這...