上下界网络流 前言 我花了几乎一个白天的时间来想为什么有源汇最大流求出的保证是原图的最大流...现在已经不想提这个东西了...简单记一下吧,乱七八糟的思考过程略去了 上下界网络流概述 网络流:满足容量限制和流量平衡 上下界网络流:同时有流量上界和流量下界 \[ \forall i \in V-\{s,t\},\ \sum_{(u,i)\in E}f(u,i) = \sum_{(i,v)\in E}f(i,v) \\ B(u,v) \le f(u,v) \le C(u,v) \\ \] 必须流:B 自由流:C-B 无源汇可行流 没有源点和汇点,要求每个点流量平衡 直接令 \(f(u,v)=B(u,v)+g(u,v)\rightarrow g(u,v) \le C(u,v)-B(u,v)\) 这时候在附加网络中求出的可行流g 不满足原网络流量平衡的限制 ,因为每条边下界不同 通过引入附加源汇ss,tt来补充流量 令 \(extra(i)=\sum_{(u,i)\in E}B(u,i) - \sum_{(i,v)\in E}B(i,v)\) 即 流入下界-流出下界 extra(i)>0, 需要额外流入流量; extra(i)<0, 需要额外流出流量. 分别让附加源和附加汇连边,然后求ss到tt的最大流,如果从ss出的所有边满流那么有解,求出的就是原图的一个可行流 这时候原图中每条边的流量