网络流基础 学习笔记
搬运自 OI WIKI
概述
网络(network)是指一个特殊的有向图 ,其与一般有向图的不同之处在于有容量和源汇点。
中的每条边 都有一个被称为容量(capacity)的权值,记作 。当 时,可以假定 。
中有两个特殊的点:源点(source) 和汇点(sink)(
) 。
对于网络 ,流(flow)是一个从边集 到整数集或实数集的函数,其满足以下性质。
- 容量限制:对于每条边,流经该边的流量不得超过该边的容量,即 ;
- 流守恒性:除源汇点外,任意结点 的净流量为 。其中,我们定义 的净流量为 。
对于网络 和其上的流 ,我们定义 的流量 为 的净流量 。作为流守恒性的推论,这也等于 的净流量的相反数 。
对于网络 ,如果 是 的划分(即 且
常见问题
常见的网络流问题包括但不限于以下类型问题。
- 最大流问题:对于网络 ,给每条边指定流量,得到合适的流 ,使得 的流量尽可能大。此时我们称 是 的最大流。
- 最小割问题:对于网络 ,找到合适的 - 割 ,使得 的容量尽可能小。此时我们称 是 的最小割。
- 最小费用最大流问题:在网络 上,对每条边给定一个权值 ,称为费用(cost
含义是单位流量通过 所花费的代价。对于 所有可能的最大流,我们称其中总费用最小的一者为最小费用最大流。) ,
例题:网络流 24 题
网络流 24 题是中文互联网上广泛流传的一个题单(LibreOJ/洛谷