最小流

最小流与最大流一样,同样是网络流的一个重要分支。
我们这里讨论的是有源汇的有上下界的最小流。

首先我们要先找出一个无源汇的可行流,不会的可以点击左边的链接学习。
这个可行流满足所有的点流量平衡,而对于源点 S S S和汇点 T T T,是不用满足流量平衡的。所以考虑在原来可行流的图上进行一些建模,再找出可以减少的流量。

那么应该怎么做呢?我们可以按照一下的步骤进行:
1.按照可行流的建图方式建图,跑出该图的可行流
2.建一条 T T T S S S的边,边权值为 i n f inf inf
3.在新图中跑最大流
4.那么此时 T T T S S S边的反向边上的权值就是该图的最小流

这个怎么证明呢?还是可以感性的感觉一下:
因为在我们需要求最小流的流量网络中,所有的流量都是从 S S S流出的。而在我们跑网络流的时候,所有中间的点都应该满足流量平衡,而 T T T S S S的边是唯一的流入 S S S的边,因此这条边上的流量就是图中从 S S S点流出的所有流量的值,也就是原图的最小流。
那为什么这么建图就是最小流呢?因为我们求的可行流是原本无源汇点的满足条件的最小可行流,满足所有点都流量平衡,连 T T T S S S的边就相当于删除了可行流图中 S S S T T T的流量平衡限制,那么在这种情况下跑出的可行流也就是原图的最小流。

最小流的应用也较为广泛,我们可以看下面这道例题:
BZOJ4464[Jsoi2013]旅行时的困惑

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值