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