网络流学习笔记摘要
一.流函数的性质
1.容量限制:
2.斜对称:
3.流量守恒:
除源点和汇点外,任何节点流入总量等于流出总量。
网络流:在不超过容量限制的前提下,“流”从源点源源不断地产生,流经整个网络,最终全部归于汇点。
二.最大流
1.定义:
使得整个网络的流量(也可以理解为从源点流出来量)最大的流函数。
2.用途:
可解决二分图最大匹配/多重匹配问题。
3.Edmonds-Karp增广路算法
(1)算法思想:不断用 BFS 寻找增广路,直至网络中不存在增广路为止。
(2)重点:反向边的用途:给程序“反悔”的机会。
(3)时间复杂度:
(4)代码
4.Dinic算法
三.最小割
1.定义:
边的容量之和最小的割。
2.最大流最小割定理:
任何一个网络的最大流量等于最小割中边的容量之和。
3.构造:
求出最大流后,从源点开始沿残量网络 BFS,标记能够到达了点。E 中所有连接“已标记的点
四.费用流
1.定义:
总花费最小的最大流被称为最小费用最大流;
总花费最大的最大流被称为最大费用最大流。
(前提是最大流,然后再考虑费用)。
2.用途:
可解决二分图带权最大匹配。
3.Edmonds-Karp增广路算法
“用 BFS 寻找一条包含边数最少的增广路”改为“用 SPFA 寻找一条费用之和最小的增广路”。
注:反向边权应为
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】