上下界网络流学习小计

25 篇文章 8 订阅
20 篇文章 0 订阅

概述

有上下界的网络流。

建图

网络流有了建图,其他都是浮云。设立超级源ss和超级汇tt,原来的s和t还是有的。
上下界网络流的建图最好感性的理解,因为证明很复杂,就当做黑盒算法。
t向s连一条容量为+∞的边。
有一条u连向v的边,下线为l,上限为r,那么我们从s到u连+∞的边,v到t连+∞的边,从u到v连一条r-l的边。然后从ss到v连一条l的边,再从u到tt连一条l的边。如图所示。这里写图片描述
首先,我们要从ss到tt做最大流,这样就满足了下限了。

可行流

如果要求上下界可行流,从ss到tt求最大流。

最小费用流

在ss到v的边和u到v的边上加上费用就可以了。然后再从ss到tt求最小费用最大流。

最大流

首先从ss到tt求最大流a,然后删去t到s的边和ss,tt;
其次从ss到tt求最大流b
最后最大流就是a+b
因为像建图所说的,建立ss和tt显然是为了满足下界,下界满足后第二次在最大流就可以了。所以a+b就是最大流。

最小流

首先不连t到s的边,然后从ss到tt做最大流;
其次连t到s的边,然后再对ss到tt做最大流;
最后t到s的流量为最小流
证明:_DMute的上下界网络流总结

另一种建图方法

这个就要用到双关键字网络流的技巧。
因为必须满足下界,我们就假设已经流过所有的下界l了,更新ans,然后u向v连r-l的边,其他边都减去l就可以了。
建议不要用这种方法,有时会有bug。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值