引述一下大牛的评论:
【题意简述】
sgu176:给定一个有源有汇的网络,某些边要求满流,试构造一个合法方案且总流量最小。
sgu194:给定一个无源无汇的网络,边的容量有上下界限制,试构造一个合法的流量。
【分析】
对于有上下界的网络流问题,我们首先应该考虑最简单的”无源无汇可行流“问题。
对于这个问题,我们采取的方式是构造超级源汇来解决,
对于所有有上下界分别为Bi,Ci的边,我们设其容量为Ci-Bi,
对于每个点i,求出M(i)=Sum B(v,i) - B(i,u) ,
若M(i)>0 则连边S-i,容量为M(i) 。 否则连边i-T,容量为-M(i)。
对这个图求S-T的最大流,当且仅当所有从S指出的边和指向T的边满载。
每条边的流量为其在改造图中的流量和其下界之和。
以上也就是sgu194的解法。
对于sgu176,看似不是很有关联的问题,实际上也可以通过转化得到相同的模型:
从汇点向源点连边,其容量上界k代表了整个网络可能的最大流量,也就是我们要求的答案,
我们不妨二分k这个参数,那么对于当前的k'我们就是判断是否存在流量最大为k'的无源无汇可行流,
显然我们就可以通过sgu194的方法来解决这个问题。
我们不断二分逼近k,最后得到的最小且合法的k就是答案。
sgu176构图示意:
![](https://i-blog.csdnimg.cn/blog_migrate/1eece44ab3d5cdf1a2941f9a892818e7.jpeg)
稍后给出自己的实现代码: