所有默認有上下界。html
理論知識:spa
1.無源匯 可行流。htm
首先要把下界流滿,因此咱們僞裝它滿流了。blog
添加超級源匯ss,ttget
若是一個點有流進來的下界,而新圖中並無,咱們就人爲從ss給它流一些進來。im
反之就人爲流一些出去給tt。co
最後跑最大流,看你人爲建的邊是否滿流,便可斷定是否有解。time
2.無源匯 最大/最小流。new
這個都不知道怎麼定義...見鬼去吧。ps
3.無源匯 最大/最小費用流。
這個卻是好定義,然而仍是不會...你也跟着見鬼吧。
4.有源匯 最大/最小流
首先從t向s連INF,變成無源匯。
得出一組解以後刪去ss,tt。此時t->s邊上的流量就是圖中流量。
而後再求s->t / t->s的最大流。
注意t->s的INF邊,在最小流中需刪去,答案加上以前t->s邊上的流量。
在最大流中保留,求出來的直接是最終答案,不須要加上以前的流量(這部分在t->s的反向邊中增廣了)。
5.有源匯 最大/最小費用可行流。
t->s連INF,變成無源匯。
直接求最大/最小費用流即爲答案。具體來講,仍是用ss和tt處理下界,而後刪掉ss,tt,t->s以後跑普通費用流。兩次費用疊加。