最小路徑覆蓋:
該問題就是求一個邊的集合的個數(shù),集合滿足下述條件:
1 集合之中不能有相交邊,卻是一個通路。
2 所有的集合中的邊要覆蓋所有的頂點。
3 集合個個數(shù)最少
注:求最小路徑覆蓋的前提是該圖是有向無環(huán)圖。所以answer=頂點數(shù)-最小覆蓋的邊數(shù)
該問題可以轉(zhuǎn)化成二分匹配來做:
怎樣構造二分圖:
1 把一個頂點i劃分成兩個頂點Xi和Yi
2 如果頂點i到j可達,則Xi指向Yi
分析:
由于是有向無環(huán)圖,所以每次匹配都不可能形成環(huán),也就是不可能有兩個不同的點
指向同一個點,這樣每加進一條邊,覆蓋的點數(shù)就會多一個。最大匹配數(shù)就是最小覆蓋的邊數(shù)。