二分图笔记

二分图

二分图是什么

二分图的节点有 \(2\) 个集合几何组成,且两个集合没有边。

二分图的性质

  1. 把二分图红蓝染色,每一条边只连接一个红节点和一个蓝节点。

  2. 一个图是二分图的充要条件是这个图没有长度为奇数的环。

二分图的判定

在一个图上进行 dfs 红蓝染色,如果出现冲突(有一条边连着相同的颜色的点),那么绝对不是二分图。

二分图最大匹配

匹配的定义:

\(G\) 的匹配是图 \(G\) 的一个边集 \(E\) 满足集合 \(E\) 中所有边没有公共端点。

最大匹配的定义:

集合 \(E\) 大小最大的匹配。

Hall 定理:

对于二分图两边的集合 \(X,Y\),二分图完美匹配数为 \(\min(|X|,|Y|)\)

如果 \(|X|<|Y|\),如果存在完美匹配的充要条件是对于任意一个 \(X\) 的子集,设大小为 \(k\),那么和这个子集相连的 \(Y\) 不小于 \(k\) 个。

推论:二分图最大匹配的个数是 \(|X|-\max(|X'|-|N(X')|)\),其中 \(X'\) 包含于 \(X\),且 \(N(X')\) 表示集合 \(X'\) 的相邻节点集合。

算法:

可以建一个超级源点,然后跑一遍 Dinic 即可,如果需要输出方案,那么只需要判断一条边是否有流量即可。

二分图最小点覆盖:

选最少的点,满足每条边至少有一个端点被选。

Köing 定理:二分图中最小点覆盖的点数等于最大匹配数。

二分图最大独立集:

选最多的点,满足两两之间没有边相连。

二分图中,最大独立集 \(=n-\) 最小点覆盖。

二分图最大权完美匹配 :KM 算法

在最大匹配的同时边的权值最大。

定义:

  • 顶标:点的的一个标记,满足 $w(u,w) \leq left_u + right_v $,并不唯一。
  • 相等子图:原图的一个字图,满足图中任意边满足 \(left_u + right_v = w(u,v)\)
  • 交错树:增广路径形成的树。

定理:

对于某组可行顶标,如果其相等子图存在完美匹配,那么这个匹配就是二分图的最大权完美匹配。

KM 算法:

确定顶标->尝试匹配->如果有完美匹配则结束->否则修改顶标

对于匹配失败的左部点,他 dfs 时形成了一个交错树。

posted @ 2025-03-31 12:00  reinforest  阅读(63)  评论(0)    收藏  举报