二分图最大匹配总结

 

一.结论:

 

1.最大匹配。

2.最小点覆盖:用最少的点去覆盖掉所有的边。最小点覆盖 = 最大匹配

3.最小边覆盖:用最少的边区覆盖掉所有的点,单独一个点可看作一条边。最小边覆盖 = 结点数 - 最大匹配

4.最大独立集:选出尽可能多的点使得他们之间没有关系(没有边相连)。最大独立集 = 结点数 - 最大匹配

5.最大团:选出尽可能多的点使得他们构成一个完全图。最大团 = 补图的最大独立集

6.最小路径覆盖(有向图):选出最少的路径,使得每个点恰好在一条路径上,单独一个点可看作一条边。最小路径覆盖 = 结点数 - 最大匹配

 

 

 

二.证明:

 

1.最小点覆盖 = 最大匹配:

König定理,不会。

 

2.最小边覆盖(ans) = 结点数(n) - 最大匹配(cnt)

证明:我们假设图中不存在边,那么每个点都要一条边去覆盖,所以总共要n条覆盖边。之后我们考虑原图中的边,利用Hungary()算法求出最大匹配数为cnt,这就表明了:有cnt个点,可以与其他点共用一条覆盖边,于是就可以除去cnt条覆盖边。所以最小边覆盖:ans = n - cnt 。

 

3.最大独立集(ans) = 结点数(n) - 最大匹配(cnt)

建图:如果u和v有关系,或者说有冲突,那么就在u和v之间连上边。

证明:最大独立集,即在在图中 删去尽可能少的点, 使得剩下的点互相独立,即没有边的存在。而我们又知道,最小覆盖点集覆盖掉了所有的边,当我们把这些点都删去了,就不存在边了。而又因为是“最小”覆盖点集,即删除了最少的点,因为得到了最大独立集。于是最大独立集:ans = n - cnt 。

 

4.最大团 = 补图的最大独立集

证明:最大团,即两两都有联系,那么它的补图,就是两两都没有联系。所以最大团即为补图的最大独立集。

 

5.(有向无环图DAG) 最小路径覆盖(ans) = 结点数(n) - 最大匹配(cnt) 

建图:把每个结点u都拆成两个结点u和u'分于左右两边,其中左边的u为起点,右边的u'为终点,如果在图中有u-->v的边,则在建图时,连u-->v' 。

证明:我们假设图中不存在边,即没有路径,那么每个点都要一条路径去覆盖,所以总共要n条路径。之后我们考虑原图中的边,利用Hungary()算法求出最大匹配数为cnt,这就表明了:有cnt个点,可以接在其他结点得到后面,于是就可以除去cnt条路径。所以最小路径覆盖:ans = n - cnt 。

注意:最小路径覆盖于最小边覆盖是不同的,虽然公式一样,但是前提条件就不同了:首先最小路径覆盖是有向图,而最小边覆盖是无向图。其次,最小路径覆盖建图时需要拆点,而最小边覆盖只需直接建图。

 

 

 

三.对匈牙利算法的认知:

枚举二分图左边的每一个点,以此为出发点,看是否能找到增广路,即是否能找到右边的点为未匹配点,由于起始点也为未匹配点,所以在这条路径上,可以增加一对匹配点,怎么做呢?可知在这条增广路径上,匹配边和未匹配边交替出现,且未匹配边比匹配边多一条,所以我们就把未匹配边改为匹配边, 把匹配边改为未匹配边。这样,匹配数就+1了。

 

 

 

四.题型总结:

1.一种模型的图是明确的二分图,如:男与女、x坐标与y坐标、老师与学生等,属于两个不同类别的。在此,假定u为第一类别,v为第二类别,如果u和v相连,那么M[u][v]设为true,但特别要注意的是,不能也把M[v][u]也设置为true。因为数组第一维表示的是第一类别,第二维表示第二类别,所以不能理解为双向图,而应该理解为单向图。且二分图左边的点只能作为边的起点,二分图右边的点只能作为边的终点。 由于此类模型可以为单向图,所以所求得的最大匹配数无需除以2。

2.另一种模型的图则不是二分图,即一般图。这时候需要分情况讨论了:

1)如果图中不含有奇环(环内结点数为奇数),或者可以通过染色分成两部分(每一部分的结点之间没有联系),那么我们就可以把一般图当做二分图来求解:把每个点拆成两个点,其中一个点只作为出点,位于二分图的左边;一个点只作为入点,位于二分图的右边。注:如果题目是无向图,则应该双向建图,然后把得到的最大匹配数/2;如果是单向图,则建单向边,得到的最大匹配即为答案。

2)如果图中含有奇环,那么就只能用一般图匹配带花树来求解了。

 

 

五.题目类型:

 

1.最大匹配:

HDU1045 Fire Net
HDU2444 The Accomodation of Students
HDU1083 Courses 
HDU1281 棋盘游戏 
HDU2819 Swap
HDU2389 Rain on your Parade
HDU4185 Oil Skimming
POJ3020 Antenna Placement 

 

2.最小点覆盖:

CSU-1531 Jewelry Exhibition
UVA11419 SAM I AM
HDU1054 Strategic Game

 

3.最小边覆盖:

POJ3020 Antenna Placement 

 

4.最大独立集:

UVALive3415 Guardian of Decency
HDU3829 Cat VS Dog

 

5.最大团:

POJ3692 Kindergarten 

 

6.最小路径覆盖:

UVALive3126 Taxi Cab Scheme 
HDU1151 Air Raid 
POJ2594 Treasure Exploratio

 

7.输出最小覆盖点集:

UVA11419 SAM I AM

 

8.一般图匹配带花树:

URAL1099 Work Scheduling

 

posted on 2017-11-14 20:36  h_z_cong  阅读(390)  评论(0编辑  收藏  举报

导航