网络流学习笔记摘要

一.流函数的性质

1.容量限制:

f(x,y)<=c(x,y)

2.斜对称:

f(x,y)=f(y,x)

3.流量守恒:

除源点和汇点外,任何节点流入总量等于流出总量。

网络流:在不超过容量限制的前提下,“流”从源点源源不断地产生,流经整个网络,最终全部归于汇点。

二.最大流

1.定义:

使得整个网络的流量(也可以理解为从源点流出来量)最大的流函数。

2.用途:

可解决二分图最大匹配/多重匹配问题。

3.Edmonds-Karp增广路算法

(1)算法思想:不断用 BFS 寻找增广路,直至网络中不存在增广路为止。
(2)重点:反向边的用途:给程序“反悔”的机会。
(3)时间复杂度:O(nm2)。一般能处理103~104规模的网络。
(4)代码

4.Dinic算法

三.最小割

1.定义:

边的容量之和最小的割。

2.最大流最小割定理:

任何一个网络的最大流量等于最小割中边的容量之和。

3.构造:

求出最大流后,从源点开始沿残量网络 BFS,标记能够到达了点。E 中所有连接“已标记的点 x”和“未被标记的点 y”的边(x,y) 构成网络的最小割。

四.费用流

1.定义:

总花费最小的最大流被称为最小费用最大流;
总花费最大的最大流被称为最大费用最大流。
(前提是最大流,然后再考虑费用)。

2.用途:

可解决二分图带权最大匹配。

3.Edmonds-Karp增广路算法

“用 BFS 寻找一条包含边数最少的增广路”改为“用 SPFA 寻找一条费用之和最小的增广路”。
注:反向边权应为w(x,y)

知识点大概就这些吧,手感做题找。

posted @   Travller  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示