上下界網路流建模方法 無源無匯可行流 最大 最小流

2021-08-15 16:08:49 字數 1264 閱讀 8671

學習了sev

eral

several

severa

l天。實義數量必須markdown

因為有下界,考慮不要下界。每個弧的「可調控範圍」的大小是upi

−dow

ni

up_i-down_i

upi​−d

owni

​,那麼在我們的實際的圖中,所有弧的下界都是0

00,每條原圖對應的弧的上界是upi

−dow

ni

up_i-down_i

upi​−d

owni

​。但我們要滿足流量平衡,於是建立附加源ss和附加匯tt,對於每個節點,ss向它連一條容量為∑do

wnx−

>

i\sum down_

∑downx

−>i​

的弧(x是所有連入i的點),它向tt連一條容量為∑do

wni−

>

y\sum down_

∑downi

−>y​

的弧(y是i所有聯出的點),然後對ss->tt跑最大流。

當答案等於所有附加的弧(與ss、tt相連的弧)的容量之和時,存在可行流。

upd on 2018.10.14

連線t

(inf⁡)

→s

t(\inf)\rightarrow s

t(inf)→s

,跑上下界無源無匯可行流。

首先,標準圖轉無源無匯圖。鏈結t->s容量inf

⁡\inf

inf。

然後跑上下界無源無匯可行流(可見我另一篇博文上下界網路流建模方法 無源無匯可行流 最大/最小流)。不可行就無解。

把殘量留著!

然後,把t->s邊拆了,接著跑s->t最大流。附加的弧已經被自動忽略了。

得到答案。

可以理解為,先跑了可行流(但是為了可行,沒有流最大),再跑最大流(在可行的基礎上)。

先做乙個簡化版:沒有上下界最小流?

……首先,強行把s和t當做平凡的點,跑上下界無源無匯可行流。注意,因為某某,ss、tt與s、t沒有連邊

把殘量留著!

然後,鏈結t->s容量為inf

⁡\inf

inf。

再,跑上下界無源無匯可行流

答案等於t->s此時此刻的殘量。

證明見各大部落格。

無源匯有上下界可行流

來自loj的模板題 我們可以依照以下幾個步驟來解決這個問題。1.讓所有的邊都流下界數量的水 2.計算每個點流入的水量 流出的水量d x d x d x 3.建超級源點s ss和超級匯點t tt4.對於每個點,若d x 0d x 0 d x 0則連邊s,x d x s,x,d x 如果d x 0d x...

無源匯有上下界可行流 loj模板

loj模板題 思想是 如果存 在可行流 每條邊 必定至少 有下界的 流量 思想是,如果存在可行流,每條邊必定至少有下界的流量 思想是,如果 存在可行 流,每條 邊必定至 少有下界 的流量 那 麼直 接用下屆 填充邊的 流量 那麼直接用下屆填充邊的流量 那麼直接用下 屆填充邊 的流量 每 條邊 的流量...

loj 115 無源匯有上下界可行流

參考部落格 模型 乙個網路,求出乙個流,使得每條邊的流量必須 li且 hi,每個點必須滿足總流入量 總流出量 流量守恆 這個流的特點是迴圈往復,無始無終 這個演算法是有上下界網路流演算法的基礎,只要深刻理解這個演算法其他演算法也就水到渠成,因此我用大篇幅力圖將這個演算法的思想和細節闡述清楚.可行流演...