定义
给定一张二分图 ,,, 其最大匹配方案不一定是唯一的 ... 若任何一个最大匹配方案的匹配边都包括 (x,y),(x,y),(x,y), 则称 (x,y)(x,y)(x,y) 为二分图匹配的必须边 ... 若 (x,y)(x,y)(x,y) 至少属于一个最大匹配的方案 ,,, 则称 (x,y)(x,y)(x,y) 为二分图匹配的可行边 ...
解法
保证完备匹配时
我们先求出任意一组完备匹配的方案 ,,, 此时所有节点都是匹配点 ...
根据定义 ,,, (x,y)(x,y)(x,y) 是必须边 ,,, 当且仅当以下两个条件满足 :::
- (x,y)(x,y)(x,y) 当前是匹配边 ...
- 删除边 (x,y)(x,y)(x,y) 后 ,,, 不能找到另一条从 xxx 到 yyy 的增广路 ...
(x,y)(x,y)(x,y) 是可行边 ,,, 当且仅当满足以下两个条件之一 :::
-
(x,y)(x,y)(x,y) 当前是匹配边 ...
-
(x,y)(x,y)(x,y) 是非匹配边 ,,, 设当前 xxx 与 uuu 匹配 ,,, yyy 与 vvv 匹配 ,,, 连接边 (x,y)(x,y)(x,y) 后 ,,, 节点 u,vu,vu,v 失去匹配 ...
必须找到一条从 uuu 到 vvv 的增广路 ,,, 来保证最大匹配不变 ...
如果我们把二分图 GGG 中的 """ 非匹配边 """ 看作从左部到右部的有向边 ,,, 把二分图 GGG 中的 """ 匹配边 """ 看作从右部到左部的有向边 ,,, 构成一张新的有向图 ,,, 记为 G′,G',G′, 那么 GGG 中从 xxx 到 yyy 有增广路 ,,, 等价于 G′G'G′ 中存在从 xxx 到 yyy 的路径 ...
考虑必须边的条件 ,,, (x,y)(x,y)(x,y) 是匹配边 ,,, 对应 G′G'G′ 中有一条从 yyy 到 xxx 的有向边 ... 在此条件下 ,,, 若 xxx 到 yyy 之间还存在一条路径 ,,, 则 xxx 和 yyy 处于同一个强连通分量中 ...
因此 ,,, 必须边的判定条件是 ::: (x,y)(x,y)(x,y) 当前是二分图 GGG 的匹配边 ,,, 并且 x,yx,yx,y 两点在有向图 G′G'G′ 中属于不同的 Scc.Scc.Scc.
类似 ,,, 可行边的判定条件是 ::: (x,y)(x,y)(x,y) 当前是二分图 GGG 的匹配边 ,,, 或者 x,yx,yx,y 两点在有向图 G′G'G′ 中属于相同的 Scc.Scc.Scc.
综上 ,,, 非必须可行边的判定条件是 ,,, x,yx,yx,y 两点在有向图 G′G'G′ 中属于相同的 Scc.Scc.Scc.
不保证完备匹配时
在这种情况下 ,,, 必须边 ,,, 可行边的第二个条件会出现问题 ... 设 (x,y)(x,y)(x,y) 是非匹配边 :::
- x,yx,yx,y 二者之一可能本来就是非匹配点 ... 不妨设 yyy 是非匹配点 ,,, 此时直接断开 xxx 原来的匹配边 ,,, 连接 (x,y),(x,y),(x,y), 得到的匹配集仍然是最大匹配 ...
- 即使当前 xxx 与 uuu 匹配 ,,, yyy 与 vvv 匹配 ,,, 连接边 (x,y)(x,y)(x,y) 后 ,,, 节点 u,vu,vu,v 失去匹配 ,,, 我们也不一定要找到从 uuu 到 vvv 的增广路 ,,, 如果从 uuu 出发找到另一个非匹配点 zzz 的增广路 ,,, 同样可以得到一组包含 (x,y)(x,y)(x,y) 的最大匹配 ...
所以我们不能像完备匹配中一样 ,,, 直接用强连通分量进行判定 ... 然而 ,,, 我们可以借助网络流中的源点和汇点 ...
若 zzz 是当前非匹配点 ,,, 则 (z,T)(z,T)(z,T) 的剩余容量必定为 1.1.1. 若 vvv 当前是匹配点 ,,, 则 (v,T)(v,T)(v,T) 的剩余容量必定为 0,0,0, (T,v)(T,v)(T,v) 的剩余容量必定为 1.1.1. 换言之 ,,, 残量网络中存在路径 (⋯→z→T→v⋯ ).(\cdots \rightarrow z\rightarrow T\rightarrow v\cdots).(⋯→z→T→v⋯). 若二分图中 uuu 到 zzz 有增广路 ,,, 则残量网络上 uuu 能到达 z,z,z, 进而到达 v,v,v, 即 (u,v)(u,v)(u,v) 通过汇点 TTT 仍在同一个强连通分量中 ...
因此 ,,, 必须边的判定条件是 ::: (x,y)(x,y)(x,y) 流量为 1(1(1( 不是残量网络 ))) ,,, 并且 x,yx,yx,y 两点在残量网络中属于不同的 Scc.Scc.Scc.
类似 ,,, 可行边的判定条件是 ::: (x,y)(x,y)(x,y) 流量为 111 ,,, 或者 x,yx,yx,y 两点在残量网络中属于相同的 Scc.Scc.Scc.
本文探讨了二分图的最大匹配问题,重点在于如何判断匹配边是否为必须边或可行边。必须边是指存在于所有最大匹配中的边,而可行边至少在某个最大匹配中出现。通过转换成有向图和利用增广路径的概念,可以确定必须边和可行边的条件。在完备匹配时,必须边对应不同强连通分量,可行边对应相同强连通分量。在不保证完备匹配时,利用残量网络的性质进行判断。
278

被折叠的 条评论
为什么被折叠?



