带上下界的网络流


无源汇上下界可行流

先将每条边的流量下界流完,然后新建源点汇点。对于流入大于流出的点,加入边 \((s,i,\Delta)\) ;对于流出大于流入的点,加入边 \((i,t,\Delta)\) ;对于原来的边 \((x,y,up,down)\) ,加入边 \((x,y,up-down)\) 。判断新图是否满流。

有源汇上下界最大流

先将每条边的流量下界流完,类似地判断一下是否合法,连边 \((t,s,inf)\) ,再删掉新建的源点和汇点,在残余网络上跑一遍从 s 到 t 的最大流。

有汇源上下界最小流

求出一组可行流之后求 t 到 s 的最大流,将可行流的流量减去该最大流即可。