首页 > 代码库 > 上下界网络流总结

上下界网络流总结

1.无源汇上下界可行流

  对于(u,v)有向边,上界为a,下界为b 构图方法为:

  (1) ss 到 v 容量为 b

  (2) u 到 tt 容量为 b

  (3) u 到 v 容量为 a-b

 求ss-tt最大流,当且仅当 maxflow=sigma(i,t)=sigma(s,i) 时 存在可行流

2.有源汇上下界最小流

  如果发现原图无源汇,要先转化为有源汇

  其他点如1方法,建图,另加 t-s 容量为 inf 

  求一遍 ss-tt最大流,此时s-t的流量为 t-s这条边的反向边的流量,记为 x

  在残量网络中删去 t-s 边,具体方法为 e[i].v:=0 e[i xor 1].v:=0

  求一遍 t-s最大流(注意是 t-s),记此时的最大流为y

  则最小可行流为x-y (可以理解为求出一个可行流,然后退掉了一些无用流)

3.有源汇上下界最大流

  构图如2,只是求完ss-tt最大流后,不做记录,也不删边,直接在残量网络上求s-t最大流,即为答案

  (可以理解为,求出一个可行流后,发现还可现流更多的流,就求s-t最大流 之所以可以不删边

   是因为第一次ss-tt最大流完了之后s-t的流量存在 t-s的反向边s-t中,在跑s-t最大流的时候已经将其算入答案)

 

有错请指出