上下界网络流的算法完全是参考论文《一种简易的方法求解流量有上下界的网络 》 还有 《最大流在信息学竞赛中应用的一个模型 》
然后 说的也是比较详细
具体的解法不再多说了,网络流的算法一直是比较麻烦,代码量还大,我看了好久才明白算法是啥意思。
刚开始比较迷惑为啥加了一对源汇了,又加一对。 后来明白了,对本题而言,刚开始是一个有源汇的网络,
就是我们加的第一对的源汇,而我们要转化为一个无源汇的网络,就在汇到源加一条无穷容量的边,这样就满足了定义的要求,后来再加一对的源汇,才是论文中说的附加源汇
代码比较肥硕
输出答案的时候。刚开始觉得挺蛋疼,后来发现边都是按顺序加的,瞬间觉得世界又美好了
我的模板里,边里存的cap表示这条边还有多少流量可用,flow就是现在已经使用的流量
[cpp]
#include
#include
#include
#include
#include
#include
#include
#include