1.无源汇上下界可行流
对于(u,v)有向边,上界为a,下界为b 构图方法为:
(1) ss 到 v 容量为 b
(2) u 到 tt 容量为 b
(3) u 到 v 容量为 a-b
求ss-tt最大流,当且仅当 maxflow=sigma(i,t)=sigma(s,i) 时 存在可行流
2.有源汇上下界最小流
如果发现原图无源汇,要先转化为有源汇
其他点如1方法,建图,另加 t-s 容量为 inf
求一遍 ss-tt最大流,此时s-t的流量为 t-s这条边的反向边的流量,记为 x
在残量网络中删去 t-s 边,具体方法为 e[i].v:=0 e[i xor 1].v:=0
求一遍 t-s最大流(注意是 t-s),记此时的最大流为y
则最小可行流为x-y (可以理解为求出一个可行流,然后退掉了一些无用流)
3.有源汇上下界最大流
构图如2,只是求完ss-tt最大流后,不做记录,也不删边,直接在残量网络上求s-t最大流,即为答案
(可以理解为,求出一个可行流后,发现还可现流更多的流,就求s-t最大流 之所以可以不删边
是因为第一次ss-tt最大流完了之后s-t的流量存在 t-s的反向边s-t中,在跑s-t最大流的时候已经将其算入答案)
有错请指出
原文地址:http://www.cnblogs.com/zyfzyf/p/3857320.html