二分图学习笔记

二分图笔记

定义:

  • 二分图 指节点由两个集合组成,且集合内部没有边的图
  • \(G\)匹配 是一个边集 \(E\),且 \(E\) 中所有边没有公共端点
  • \(G\)最大匹配 指边数最多的匹配
  • 二分图 \(G\)完美匹配 指设二分图两集合为 \(X, Y\),最大匹配数为 \(min(|X|, |Y|)\)
  • Hall 定理
    • 设二分图 \(G\) 的两个集合为 \(X, Y\),且 \(|X|\) 较小,则 \(G\) 存在完美匹配的充要条件是对于任意 \(X\) 的子集,设其大小为 \(k\),则和该子集相连的点 \(Y\) 必须不小于 \(k\)
    • 推论:对于较小的集合 \(X\),二分图最大匹配数为 \(|X|-\max(|X'|-|N(X')|)\)\(N(u)\) 表示 \(u\) 的邻居节点集合
  • 最小点覆盖:选最少的点使得每条边至少有一个端点被选
    • König 定理:二分图中 最小点覆盖等于最大匹配
  • 最大独立集:选最多的点使得两两间没有边相连
    • 最大独立集 \(=\) \(n-\)最小点覆盖

性质:

  • 二分图没有奇环
  • 没有奇环的图是二分图
    • 证明:设路径为 \(a_1 \rightarrow a_2 \rightarrow \cdots \rightarrow a_k\),存在一条边 \((a_1, a_k)\)\(a_1\)\(a_k\) 同色;注意到同色点间路径长度必然为偶,则 \(a_1 \rightarrow a_2 \rightarrow \cdots \rightarrow a_k \rightarrow a_1\) 形成一条奇环,矛盾
    • 推论 (二分图判定):对图进行 dfs 染色,相邻点与当前点异色,若不出现矛盾则为二分图

匈牙利算法:

  • 复杂度 \(O(n \times e + m)\)\(n\) 为左部点个数,\(e\) 为边数,\(m\) 为右部点个数
  • 流程:对于每个左部点 \(u\),枚举其边 \((u, v)\),若出现冲突则尝试将 \(v\) 的原配 \(u'\) 向其下一条边走匹配,若不冲突则匹配 \((u, v)\),反之令 \(u\) 失配
posted @ 2025-03-24 18:41  lzlqwq  阅读(15)  评论(0)    收藏  举报