网络流
前言
网络流的逻辑非常符合生活,很好想象水流的过程,但是具体的题往往需要很强的观察力或丰富的经验才能想到合适的网络流建图方案。
基础概念
汇点和源点
对于一个网络流的图,有两个特殊的点,源点 \(s\),汇点 \(t\)。\(s\) 入度为零,\(t\) 出度为零。网络流一般研究从 \(s\) 到 \(t\) 的流。
可以理解为流入 \(s\) 的流是无限的。
容量
每条边都有一个容量 \(c(u,v)\),\(u\) 和 \(v\) 是两个端点。
流量
每条边都有一个流量 \(f(u,v)\),简单来说就是经过这条边到达 \(t\) 的流的大小。
对于 \(\forall u,v\in V,0\le f(u,v)\le c(u,v)\)。
可以设不存在的边 \(f(u,v) = 0\)。
对 \(\forall u,v\in V,f(u,v)=-f(v,u)\)。
流量守恒
对于 \(\forall u\in V,u\notin\{s,t\},有 \sum_{i\in V} f(u,i) = 0\)。
感性来说,除了源汇点,每个点流入的等于流出的。
割
若在一个网络上两个点集 \(S,T\) 满足 \(S \cup T = V,S \cap T = \varnothing\),并且 \(s \in S,t\in T\),那么称 \(\{S,T\}\) 是这个网络的一个割。
割的容量 & 最小割
一个割 \(\{S,T\}\) 的容量为 \(\sum_{u\in S}\sum_{v\in t} c(u,v)\)。
最小割就是容量最小的割。
最大流
通过分配每条边的流量得到的可行的 \(s\) 最大流出量,(也是 \(t\) 的最大流入量),称为最大流。

浙公网安备 33010602011771号