检测到 KaTeX 加载失败,可能会导致文中的数学公式无法正常渲染。
#前置知识
#无源汇上下界可行流
给定无源汇流量网络 。询问是否存在一种标定每条边流量的方式,使得每条边流量满足上下界同时每一个点流量平衡。
#实现
先强制初始流存在,这样有的点的入流不等于出流,这样对应的和 连边(边权为出入流量差),原图的边容量为剩余流量。
具体来说,设 为第 个点的入流与出流之差。若 ,连 到 ;否则连 到 。权值均为 。当存在最大流使得 的所有出边都满流,则有解。
对于有源汇上下界可行流,只需要连一条 、容量无穷大的边就可以将其转化为无源汇上下界可行流。
#代码
1 |
|
#有源汇上下界最大流
给定有源汇流量网络 。询问是否存在一种标定每条边流量的方式,使得每条边流量满足上下界同时除了源点和汇点每一个点流量平衡。如果存在,询问满足标定的最大流量。
#实现
先找到网络上的任意一个可行流,如果无解可以直接结束。
如果可行流有解,那么先删去求可行流时添加的超级源汇点、 的辅助边,再在残量网络上跑一遍 的最大流,最后将可行流流量与最大流流量相加即可。
#代码
1 |
|
#有源汇上下界最小流
给定有源汇流量网络 。询问是否存在一种标定每条边流量的方式,使得每条边流量满足上下界同时除了源点和汇点每一个点流量平衡。如果存在,询问满足标定的最小流量。
#实现
与有源汇上下界最大流类似。
先找到网络上的任意一个可行流,如果无解可以直接结束。
如果可行流有解,那么先删去求可行流时添加的超级源汇点、 的辅助边,再在残量网络上跑一遍 的最大流,最后用可行流流量减去最大流流量即为最小流。
#代码
1 |
|
#参考资料
- 最大流之上下界可行流,AcWing 算法进阶课,闫学灿,2020 年 7 月 31 日。
- 上下界网络流,OI Wiki,2021 年 2 月 8 日。