学习笔记目录
有任何问题,欢迎私信/评论。
码字不易,求点赞啦~
网络流的基本概念
网络
网络指的是一张有向图。图中每一条边都有一个权值 c(u,v) ,叫做边的容量。
图中还有两个特殊的点:源点 s 与汇点 t。
流量
定义 f(u,v) 是一条边 (u,v) 的流量,那么 f(u,v) 满足如下性质:
- 一条边的流量不得大于它的容量,f(u,v)≤c(u,v)。
- 每条边的流量与其相反边的流量之和为 0,f(u,v)+f(v,u)=0。
- 从源点流出的流量等于汇点流入的流量。∑(u,x)∈Ef(u,x)=∑(x,v)∈Ef(x,v)。
可以把流量理解为城市排水系统中的水流。
割
在网络中选出一些边,使得这些边去掉后网络分割成了两个不连通子图,且源点 s 和汇点 t 分别属于这两个子图,那么选出的这些边构成的边集就是网络的一个割。
显然,一个网络的割不止一个。
在割中,所有从 s 所在连通块指向 t 所在连通块的边,叫做 正向边,所有从 t 所在连通块指向 s 所在连通块的边,叫做 反向边。
割的容量定义为割中所有正向边的流量之和。
关于割,有一个非常形象的比喻:恐怖分子想要切断自来水厂和你家之间的某些水管,让你家用不了水。定义切断一根水管的代价为这根水管得粗细(毕竟细一点的水管好切嘛)。割的容量就是恐怖分子所花费的代价。
增广路
增广路,简单来说就是从源点流向汇点的一条路径,且满足这条路径上所有的弧的残量均不为 0。