二分图匹配专题总结

入门级

必备知识点

定理一:
最小点覆盖:选取尽可能少的点,使得任意的一条边都有至少一个端点被选到。
|最小点覆盖| = |最大匹配数|

定理二:
最大独立集:选取尽可能多的点,使得所取得点中,任意的两点均不相连。
|最大独立集| = |V| - |最大匹配数|

定理三:
最小边覆盖: 选取最少边的让所有点都被覆盖
|最小边覆盖| = |V| - |最大匹配数|

最小路径覆盖:对于一个 DAG(有向无环图),选取最少条路径,使得每个顶点属于且仅属于一条路径。路径长可以为 0(即单个点)。
|最小路径覆盖| = |顶点数| - |最大匹配数|

具体最小路径覆盖分为路径可相交和路径不可相交,具体可以参考这篇博客

定理证明

以下定理证明均是自己的理解,如果想知道详细证明可以参考其他博客
定理一
取 最 大 匹 配 的 所 有 边 的 一 个 端 点 , 必 定 可 以 覆 盖 所 有 边 。 如 果 还 有 边 没 有 被 覆 盖 的 话 取最大匹配的所有边的一个端点,必定可以覆盖所有边。如果还有边没有被覆盖的话
, 也 就 说 这 个 边 的 两 个 端 点 没 有 被 包 括 最 大 匹 配 内 , 那 么 最 大 匹 配 就 要 + 1 。 所 以 反 证 得 出 结 论 ,也就说这个边的两个端点没有被包括最大匹配内,那么最大匹配就要+1。所以反证得出结论 +1

定理二
设 最 大 匹 配 数 为 n , 也 就 说 剩 下 的 点 中 两 两 没 有 边 。 所 以 最 大 独 立 集 = 顶 点 数 − 最 大 匹 配 设最大匹配数为n,也就说剩下的点中两两没有边。所以最大独立集=顶点数-最大匹配 n,=

定理三
取 最 大 匹 配 的 边 , 设 为 m 个 。 也 就 是 还 剩 下 ∣ V ∣ − 2 ∗ m 个 点 没 有 覆 盖 。 那 么 我 只 需 要 ∣ V ∣ − 2 ∗ m + m 取最大匹配的边,设为m个。也就是还剩下|V|-2*m个点没有覆盖。那么我只需要|V|-2*m+m mV2mV2m+m
即 ∣ V ∣ − ∣ m ∣ 个 边 即 可 即|V|-|m|个边即可 Vm

定理四
假 设 我 们 有 n 个 点 , 我 们 把 每 个 点 拆 成 两 个 点 ( a , a ′ ) , 这 样 对 于 这 些 点 如 果 有 有 两 个 不 同 点 相 连 , 路 径 数 − 1 假设我们有n个点,我们把每个点拆成两个点(a,a'),这样对于这些点如果有有两个不同点相连,路径数-1 n(a,a)1
最 小 路 径 数 就 等 于 总 路 径 数 − 最 大 匹 配 数 最小路径数就等于总路径数-最大匹配数

刷题链接**
<独立AC多于15道>**

心得总结

  1. 对于我们可以点分成两个集合的,我们二分匹配的时候只需要在点数少的集合里面查找有无增广路。但是对于我们不可以完全找到的时候就需要遍历所有的点。

  2. 思考问题的时候可以根据矛盾关系建立边(一定要判断二分图有无奇环)
    题目链接
    这个题目就是根据每个人如果存在会使得哪些人不存在,从而建立一条矛盾边。然后答案就是最大独立集
    这个题目其实证明无奇环挺容易的。

  3. 对于矩形块问题,我们有两种构图方式
    (1)直接一个集合只包括行,一个集合包括列。对于存在一个点,我们把它的行与列建边
    (2)把每一个点看成一个整体,编号即为 i ∗ c + j i*c+j ic+j

  4. 奇环判断:dfs画图

  5. 对与一个图,删边变成二分图
    题目链接
    我们可以枚举所有点的情况,然后删一定的边。这道题还要用状态压缩优化,具体可以做一下。

  6. 最少路覆盖问题我们可以大致归结于有向图建边
    具体理解可以归结于这道题

模板

可以参考白书模板(邻接表)
复杂度 O ( N ∗ M ) ( N 表 示 枚 举 的 点 ) O(N*M)(N表示枚举的点) O(NM)(N)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值