【图论】上下界网络流

无源汇上下界可行流

所有点都要满足流量平衡的可行流。每条边的流量上界为 \(F\) ,流量下界为 \(f\) ,一开始加入初始流量,对于每个点 \(i\) ,设超级源 \(S\) 和超级汇 \(T\) ,设初始入流量-初始出流量为 \(M\) , 若M=0就不用管,若M>0(入流量过大),则连接 \((S,V_i,M)\) ,若M<0(出流量过大),则连接 \((V_i,T,-M)\) ,最后对于每条边加入 \((V_u,V_j,F-f)\) 。对这个图跑最大流,若附加流满流,那么得到了原图的可行流,否则没有可行流。

有源汇上下界可行流

除了源点和汇点,其他点都要满足流量平衡的可行流。在原图中连接 \((T,S)\)\([0,INF)\) 的边,转化成无源上下界可行流。

有源汇上下界最大流

先使用上面的方法,找到一个有源汇上下界可行流,若没有可行流则直接结束。否则,把残量网络上的附加边全部删除,再从残量网络上跑S到T的最大流,把可行流流量和最大流流量相加。

有源汇上下界最小流

先使用上面的方法,找到一个有源汇上下界可行流,若没有可行流则直接结束。否则,把残量网络上的附加边全部删除,再从残量网络上跑T到S的最大流,把可行流流量减去最大流流量。

posted @ 2021-01-24 12:12  purinliang  阅读(121)  评论(0)    收藏  举报