图论 - 网络流

定义

网络:一个特殊的有向图 \(G\),有容量和源汇点。

流:一个从边集映射到整数集 或实数集 的函数 \(f\),满足:

  • 容量限制
  • 流守恒性:除源汇点外,任意结点 \(u\)\(\sum_{x \in V} f(u, x) - \sum_{x \in V} f(x, u)=0\)

\(f\) 是一个 s-t 流\(f\)流量\(\sum_{x\in V} f(u,t)\)

割:若 \(\{S, T\}\) 是点集的划分 且 \(s \in S, t \in T\),称 \(\{S, T\}\) 为一个 s-t 割\(\{S,T\}\)容量\(\sum_{u \in S} \sum_{v \in T} c(u, v)\)

增广路:从 \(s\)\(t\) 且只经过正流量边的路径。

残量网络 \(G'\):对增广路每条边的流量减小 \(x\),反向边流量增加 \(x\)

最大流算法

最大流:
Dinic 算法:\(O(n^2m)\);EK 算法:\(O(nm^2)\)

费用流:
SPFA 费用流:\(O(nm|f|)\);Dijkstra 费用流:\(O(|f|n\log m)\);capacity-scaling:

posted @ 2023-10-25 19:37  Network_Error  阅读(29)  评论(0)    收藏  举报