我发现我的二分图匹配实在太弱了……写一些东西给自己看:
最小路径覆盖:在一个有向图中,找出最少的路径,使得这些路径经过了所有的点。如果点可以重复被覆盖,那么要先做一次传递闭包,把问题转化为不可重复覆盖点,然后这样做:把每个点V拆成V1、V2,若A到B有一条有向边,则A1到B2连一条边。最小路径覆盖=总点数-最大匹配。
最小点覆盖:在二分图中,选一个点相当于选了含这个点的所有边,找最少的点使得所有边都被选。最小点覆盖=最大匹配。
最大独立集:无向图的最大独立集是NPC问题。在二分图中,选一个点,与之有边相连的点都不能选,求最大选点数。最大独立集=总点数-最大匹配。
最大团:选出一些顶点,这些顶点两两之间都有边。最大团就是使得选出的这个顶点集合最大。对于二分图来说,我们默认为左边的所有点之间都有边,右边的所有顶点之间都有边。二分图的最大团=补图的最大独立集。补图的定义:原图有边的补图无边,原图无边的补图有边。
hall定理:
通俗的语言:
选出
S
S
S的任意一个子集
S
′
S'
S′,设其有
x
x
x个点,
T
T
T中与
S
′
S'
S′有边相连的点数为
y
y
y,那么存在完美匹配当且仅当对于每个
S
′
S'
S′,
x
<
=
y
x<=y
x<=y。这里的
x
x
x对应着图片中的
∣
S
′
∣
|S'|
∣S′∣,
y
y
y对应着
∣
Γ
(
S
′
)
∣
|\Gamma(S')|
∣Γ(S′)∣。
关于二分图匹配
最新推荐文章于 2023-08-02 10:44:22 发布