不会咕!算法
下面是一些概念,理解便可,不需强记。网络
一个网络流图是一个没有自环的有向连通图,知足:spa
允许流,又叫可行流.blog
在网络流图中,对于每条边 \(e=(i,j)\) 给定实数 \(f_e\), 若是知足:it
每一条边的容量 \(f_e\le c_e\);class
流量平衡:对于任意 \(x\ne S, T\),\(\sum\limits_{e=(x,i)}f_e=\sum\limits_{e=(i,x)}f_e\);方法
对于源点 \(S\) 和汇点 \(T\) 有:\(\sum\limits_{e=(S,i)}f_e=\sum\limits_{e=(i,T)}f_e=W\)im
即源点流进去多少,汇点就会流出多少,不会有流量的损失.img
则称这一组 \(f\) 为该网络的一个允许流,\(W\)称为他的流量。di
一个容量 \(W\) 最大的允许流 。
可增广路,又叫可改进路.
介绍这个概念以前,先看看几个别的概念:
给定一个允许流 \(f\) 。
给定一个允许流 \(f\),\(P\) 是从 \(S\) 到 \(T\) 的一条道路,若是知足:
那么就称 \(P\) 是 \(f\) 的一条可增广路,之因此称为”可增广路“,是由于可改进路上弧的流量经过必定的规则修改,能够使整个流量放大。
基本思路:不断尝试寻找增流路径,增长允许流的流量,直到没法增长为止,此过程称为增广过程
\(\text{Ford-Fulkerson}\),一种迭代算法,先对图中全部顶点对的流清零(此时网络流大小也为 \(0\))。在每次迭代中,经过寻找一条增广路径来增长流的值,一直迭代到没法再找到增广路径为止。
剩余的容量+反向平衡的流量共同构成了残留网络。
感谢 ACM大神 dengsiyu 和 XLightGod 大神的讲课!
参考资料: