Unverified Commit f9039b53 authored by ir1d's avatar ir1d Committed by GitHub
Browse files

feat: 补充网络流最大流 (#982)

feat: 补充网络流最大流
parents d6165b0f 232cf8ea
Loading
Loading
Loading
Loading
+27 −8
Original line number Diff line number Diff line
网络流在 OI 中是显得尤为重要的。在《算法导论》中就用了 35 页来讲述网络流的知识,在这里,给大家介绍网络流中的一些基本知识。

## 网络流的基本概念
## 网络

容量:网络中的每条有向边 $(x,y)$ 都有一个给定的权值,称为边的容量,记为 $c(x,y)$ 
首先,请分清楚**网络****网络流**的概念

源点、汇点:网络中的两个特殊节点。流量从源点产生,最后全部归于汇点。源点用 $S$ 表示,汇点用 $T$ 表示
网络是指一个有向图 $G=(V,E)$

流量:对于网络中的每条边 $(x,y)$ , $f(x,y)$ 被称为该边的流量。流量需要满足以下三条性质:
每条边 $(u,v)\in E$ 都有一个权值 $c(u,v)$,称之为容量(Capacity),当 $(u,v)\notin E$ 时有 $c(u,v)=0$。

1.  容量限制:对于每条边,流经该边的流量不得超过该边的容量,即 $f(x,y) \leq c(x,y)$ 。
2.  斜对称性:每条边的流量与其相反边的流量之和为 0,即 $f(x,y)=-f(y,x)$ 。
3.  流量守恒:从源点流出的流量等于汇点流入的流量。
其中有两个特殊的点:源点 $s\in V$ 和汇点 $t\in V,(s\neq t)$。

## 流

设 $f(u,v)$ 定义在二元组 $(u\in V,v\in V)$ 上的实数函数且满足

1. 容量限制:对于每条边,流经该边的流量不得超过该边的容量,即,$f(u,v)\leq c(u,v)$
2. 斜对称性:每条边的流量与其相反边的流量之和为 0,即$f(u,v)=-f(v,u)$
3. 流守恒性:从源点流出的流量等于汇点流入的流量,即$\forall x\in V-\{s,t\},\sum_{(u,x)\in E}f(u,x)=\sum_{(x,v)\in E}f(x,v)$

那么 $f$ 称为网络 $G$ 的流函数。对于 $(u,v)\in E$,$f(u,v)$ 称为边的**流量**,$c(u,v)-f(u,v)$ 称为边的**剩余容量**。整个网络的流量为 $\sum_{(s,v)\in E}f(s,v)$,即**从源点发出的所有流量之和**

一般而言也可以把网络流理解为整个图的流量。而这个流量必满足上述三个性质。

*注*:流函数的完整定义为

$$
f(u,v)=\left\{\begin{split}
&f(u,v)&,(u,v)\in E\\
&-f(v,u)&,(v,u)\in E\\
&0&,(u,v)\notin E,(v,u)\notin E
\end{split}\right.
$$

## 网络流的常见问题

@@ -31,4 +51,3 @@
## 网络流 24 题

https://loj.ac/problems/tag/30
+729 KiB
Loading image diff...
+51.8 KiB
Loading image diff...
+705 KiB
Loading image diff...
+67.2 KiB
Loading image diff...
Loading