最大流/最小费用最大流
这里不再讨论,使用 Dinic 即可。板子是可以感性理解然后背下来的。
无源汇上下界可行流
随便来一张网络,边上的流量有上下界,求一种所有点都满足流量平衡和上下界限制的方案。
首先有一个想法是把上下界转换成只有上界,那么为了清除下界的障碍,我们就先把所有边都填充到下界,然而显然这样流量不平衡有的点出水了有的点吸水了。但是我们现在可以搞出来一个转化:
每个点上有一个权值 \(W_i\) 表示这个点上生出来的或者是吸进去的流量,同时每条边的流量限制改写为只有上界 \(R_i-L_i\),要求出一种满足流量限制的方案,把每个点生出来或者吸进去的流量用完。
对于 \(W_i>0\),我们认为这是生出来了流量,那么我们从 \(S\to i\) 连一条 \(W_i\) 流量的边去补齐那些生出来的流量;反之我们认为吸收了流量,那就从 \(i\to S\) 连一条 \(-W_i\) 流量的边去接收那些原本被吸收掉的流量。
然后我们跑一遍最大流,只要源点 \(S\) 满流了,那就说明所有的这些 \(W\) 都被处理掉了,也就说明存在无源汇上下界可行流。
此时每条边的流量就是下界加上新图中最大流后的流量。
Template link:https://loj.ac/p/115