有上下界的网络流

稍微学一下····


对于无源汇的图一定有流量平衡∑f(u,i)=∑f(i,v)

如果f(u,i)>=B(u,i),则B(u,i)为流量下界。

定义f(u,i)=B(u,i)+g(u,i)

则 ∑B(u,i)+∑g(u,i)=∑B(i,v)+∑g(i,v)

即∑B(u,i)-∑B(i,v)=M(i)=∑g(i,v)-∑g(u,i)

M(i)为该点i的入流下界之和-出流下界之和。

当M(i)>0时,∑g(i,v)=∑g(u,i)+M(i)    我们可以使超级源点S建一条到i的流量为M(i)的边。

反之,∑g(i,v)-M(i)=∑g(u,i) 建一条i道T的流量为-M(i)的边。

然后跑最大流



sgu194:无源汇有上下界最大流 按上述建图即可


sgu176::有源汇有上下界最小流。      建一条t到s的,流量为a的边(下界0),使得它构成一个无源汇的图,使得最大流最小,就二分这个a,求a最小。


有源汇有上下界最大流:同理,二分下界a,上界inf,按第一题求解


bzoj3876:有源无汇有上下界最小费用流。  思路大致和网络流相同,首先所有点到s建一条inf,cost=0的边(相当于新建一个汇点t,t再到s连边),每条边建inf,cost=w的边

为保证下界,对于每条u->v,S到v建一条流量1,费用w的边;u到T建一条流量1,费用0的边(应该可以交换)




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值