浅谈最大流-最小割

3 篇文章 0 订阅
3 篇文章 0 订阅
有这样一张图,源点到汇点会流水,每一条带箭头的边都是一根单向流的管道,数字代表这根管道最多能流多少水(单位为1),要求满足管道从起点到终点能流的最多的水。源点只放一次水,管道不能被损坏。
  图片
比如源点到1可以流40的水,但它实际最多只能流25的水(想一想为什么?)

这么看,假设源点到1流40的水,到1这里它会分叉,1到汇点流15,那剩下的25只能向2流,1到2只能流20,就会出问题。
35也不行,2到汇点只能流10,倒推回去1最多容纳25,那么源点到1只能流25。

整张图的最大流其实是65,最小割=10(2到汇点的边)+15(1到汇点的边)+40(源点到3的边).

那么如果这张图很大,节点(管道交点)数和管道数多,人脑运算==cannot work out的时候,求助计算机吧!


最大流,最小割定理:对于一张图,最大流==最小割。
什么是最小割?最小割是一个边权的累加,这条边满足

对于一个图中的两个节点来说,如果把图中的一些边去掉,刚好让他们之间无法连通的话,这些被去掉的边组成的集合就叫做割了,最小割就是指所有割中权重之和最小的一个割。


我们来证明为什么有最大流=最小割:



对于每一条起点到终点的路径上的一个割线,权值一定》=min(这条路上权值)

而最大流在当前路径能跑的流<=min(这条路权值)

即有最大流=最小割



有关平面最小割与最短路的转换

参考了:周冬的论文 《两极相通——浅析最大—最小定理在信息学竞赛中的应用》

引用其他地方的东东:

(bzoj1001这道题)



可以把边当成两个平面的割,把两个平面之间建边,权值为这个。

然后,最小割转化为求最小环,由于s-t的权值为0,我们将其删去,就是求s-t最短路。



网络流我做过的题型大致有:

最大流      最小费用最大流     最小割      二分图匹配

代码都是模板,基本不存在什么问题,考点在如何建图,建立这个模型。

还需要一些技巧,比如拆点。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值