【网络流相关】最大流和费用流的EK算法实现
Luogu P3376 最大流是网络流模型的一个基础问题。 网络流模型就是一种特殊的有向图。 概念: 源点:提供流的节点,类比成为一个无限放水的水厂 汇点:接受流的节点,类比成为一个无限收水的小区 弧:类比为水管 弧的容量:类比为水管的容量;用函数 \(c(x,y)\) 表示弧 \((x,y)\) 的容量 弧的流量:类比为当前在水管中水的量;用函数 \(f(x,y)\) 表示弧 \((x,y)\) 的流量 弧的残量:即容量-流量 容量网络:对于一个网络流模型,每一条弧都给出了容量,则构成一个容量网络。 流量网络:对于一个网络流模型,每一条弧都给出了流量,则构成一个流量网络。 残量网络:对于一个网络流模型,每一条弧都给出了残量,则构成一个残量网络。最初的残量网络就是容量网络。 对于网络流模型 \(G=(V,E)\) ( \(V\) 为点集, \(E\) 为边集)有如下性质: 流量守恒:除了源点与汇点之外,流入任何节点的流一定等于流出该节点的流 容量限制: \(\forall (x,y) \in E,有0<=f(x,y)<=c(x,y)\) 斜对称性: \(\forall (x,y) \in E,有f(x,y)=-f(y,x).\) 类似于函数奇偶性中的奇函数,或者是矢量的方向。 最大流问题,用通俗的方式解释就是从源点S到汇点T输送流量,询问最多有多少流量能输送到汇点。 对于这样的问题