/**
前面提到了匈牙利算法解決二分圖匹配問題,但是基於二分圖還有幾個經常
見的擴展問題如下:
1、最大獨立集點數
2、最小頂點覆蓋數
3、最小路徑覆蓋數
**********************************************************************
最大獨立集點數:
有5個同學,小明,小強,小壯,小雨,小麗,現在要做遊戲,可是小雨
小麗都不喜歡小明,問最多能挑出多少學生使他們在一起玩???
顯然答案爲4,直接把小明趕走即可,因爲如果小明在,小雨和小麗兩個女女
就不幹了。。
*最大獨立集點數 = N - 最大匹配數
如下建圖
小雨 * * *小明
*
小麗 * 小強
小壯
最大匹配爲 1,有 5 個點,所以最大獨立集點數爲 5 - 1 = 4;
**********************************************************************
最小頂點覆蓋數:
即在二分圖中用最少的點關聯所有的邊,如上圖:最小頂點覆蓋數爲 1
即小明一個人就關聯了僅存的兩條邊。。
最小頂點覆蓋數 = 最大匹配數
Konig定理:二分圖的最小頂點覆蓋數等於最大匹配數。
網上有關於這個定理的證明。。。
後面還會遇到樹的最小支配集,即最少的點關聯所有的點或邊。。。
樹的最小支配集用貪心和樹形DP 解決,後面會提到
**********************************************************************
最小路徑覆蓋
路徑覆蓋就是在*無環有向圖*中找一些路徑,使之覆蓋了圖中所有頂點,且
任何一個頂點有且只有一條路徑與之關聯。
最小路徑覆蓋 = N - 最大匹配數
**********************************************************************
二分圖匹配和網絡流一樣,都在於建圖,應該說幾乎所有的圖論題都在於建圖
建圖的技巧和難度,決定了這道題的質量和難度,所以會套模板是基礎,建圖纔是
王道……
注意:上面3個只適用於有向無環圖,當爲無向圖時可以通過拆點轉換爲無向圖,但
算出的最大匹配得除二。。 但不能有環
拆點:N個點 則把 X 點拆成 2N+X 則 2N+X 完全等價X 去添邊,即無向邊ab,
可拆成 a->2N+b b->2N+a。。用匈牙利算法算出最大匹配除二即爲匹配
*/
收藏於 2011-11-23
來自於百度空間
二分圖匹配的擴展問題
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.