[省选复习] 最小割/二分图最大匹配有关结论

网上搜集的,怕忘了,记录一下。

摘自 OI-wikimina 等各种各样乱七八遭的地方。

最小割

源点 s,汇点 t

记对残量网络跑 tarjan 得到的第 i 个点所在 SCC 编号为 scci

最小割方案

我们可以通过从源点 s 开始 DFS,每次走残量大于 0 的边,找到所有 S 点集内的点。

最小割可行边

条件 1:满流(此时残量网络上有边 vu)。

条件 2:不存在 uv 的路径,即 sccusccv

运用最大流最小割定理,可以很容易推出条件 1。

对于条件 2,如果 u,v 在同一个 SCC 里,那一定可以通过流量调整(匀一点流量)使得 (u,v) 不满流,此时就不满足条件了。

最小割必经边

条件 1:满流(同样意味 vu)。

条件 2:sccu=sccs,sccv=scct

如果一条边是必须的,那么增加这条边的容量一定会改变最大流。

残量网络的 SCC 缩点后是一个 DAG,方向是从 TS

当且仅当 (u,v)sccsscct 之间时,增加 (u,v) 的流量才能增大最大流。

最小割最小边数方案

跑完一次最小割后,令所有满流边容量为 1,非满流边容量为 +,再做一次最小割,此时的任意最小割方案割边都最少。

最小割任意方案和字典序最小方案

依次枚举每条边。每次选取一条满流边 (u,v),用 BFS 判断它是否是可行边。如果是就加入最小割。由可行边判定条件,不能存在从 uv 的增广路径。因此要退回一些边的流量,让它们不会被选进去。具体方法是从 usvtDinic 退流。

如果让字典序最小,就按编号从小到大枚举即可。题目要求的特定顺序也类似。

二分图最大匹配

x 为左部点,y 为右部点。

二分图匹配的可行边与必须边

必须边判定条件:xy 流量为 1,且在残量网络上属于不同的强连通分量。
可行边判定条件:xy 流量为 1,且在残量网络上属于相同的强连通分量。

由最小割必须边可行边可以推出。

二分图最大匹配可行点

x 的出边/y 的入边至少有一条是可行边。

二分图最大匹配必经点

非必经点:从 s 出发只走 cap=1 的边能到达 x,或者从 t 出发只走 cap=0 的边能到达 y

必经点:不是非必经点的点。

这个过程相当于找一条增广路,走 cap=0 的边相当于在反图上找增广路。

posted @   yyyyxh  阅读(92)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示