首页 > 代码库 > 上下界网络流总结
上下界网络流总结
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最大流的时候已经将其算入答案)
有错请指出
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。