首页 > 其他 > 详细

学习笔记::有上下界的网络流

时间:2017-03-25 11:27:11      阅读:129      评论:0      收藏:0      [点我收藏+]

1.无源无汇有上下界可行流

zoj2314

做法:每条边的两个顶点分别计算出流入流出的流量之差,记为in[u],如果in[u]<0,说明流出的比流入的多,那么他需要有一些补充,于是我们设立虚拟源汇,把u和T连接,容量为-in[u],如果in[u]>0,说明流进来的多了,需要有去处,就和S连接,容量为in[v]。对于每条边,容量为up[i]-low[i],然后跑最大流,每条边的流量即为low[i]+e[i^1].f 

判断可行:看S临边是否流满,未流满则无解。(源点和汇点效果等价,因为每条边的贡献正负相消)

Q:这个虚拟源汇是个什么东西?为什么这样做? A:有些点不满足流量平衡,如果少了,那么要补流,这些流量要找一个来源,所以和T相连,看这条边的来源是哪里。如果多了,这些流量要有个去处,就和S连一条边寻找去处

2.有源有汇有上下界可行流

 

学习笔记::有上下界的网络流

原文:http://www.cnblogs.com/19992147orz/p/6615956.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!