网络流简介
网络流在 OI 中是显得尤为重要的。在《算法导论》中就用了 35 页来讲述网络流的知识,在这里,给大家介绍网络流中的一些基本知识。
网络¶
首先,请分清楚 网络 (或者流网络,Flow Network)与 网络流 (Flow)的概念。
网络是指一个有向图
每条边
其中有两个特殊的点:源点(Source)
流¶
设
- 容量限制:对于每条边,流经该边的流量不得超过该边的容量,即,
f(u,v)\leq c(u,v) - 斜对称性:每条边的流量与其相反边的流量之和为 0,即
f(u,v)=-f(v,u) - 流守恒性:从源点流出的流量等于汇点流入的流量,即
\forall x\in V-\{s,t\},\sum_{(u,x)\in E}f(u,x)=\sum_{(x,v)\in E}f(x,v)
那么
一般而言也可以把网络流理解为整个图的流量。而这个流量必满足上述三个性质。
注:流函数的完整定义为
网络流的常见问题¶
网络流问题中常见的有以下三种:最大流,最小割,费用流。
最大流¶
我们有一张图,要求从源点流向汇点的最大流量(可以有很多条路到达汇点),就是我们的最大流问题。
最小费用最大流¶
最小费用最大流问题是这样的:每条边都有一个费用,代表单位流量流过这条边的开销。我们要在求出最大流的同时,要求花费的费用最小。
最小割¶
割其实就是删边的意思,当然最小割就是割掉
网络流 24 题¶
https://loj.ac/problems/tag/30
buildLast update and/or translate time of this article,Check the history
editFound smelly bugs? Translation outdated? Wanna contribute with us? Edit this Page on Github
peopleContributor of this article OI-wiki
translateTranslator of this article Visit the original article!
copyrightThe article is available under CC BY-SA 4.0 & SATA ; additional terms may apply.