題意:乙個鎮上有很多街道,很多十字路口,無迴圈,把傘兵放在各個十字路口上,使之能把所有的街道都走過,求最小的傘兵數。
最小路徑覆蓋=節點數-最大匹配。模板題
view code
1 #include 2 #include3 #include4using
namespace
std;
5int map[200][200],link[200],vis[200];6
int find(int x,intn)7
19}20}
21return0;
22}23int
main()
2437
int sum = 0;38
for(i = 1; i <= n ; i++)
3944 cout
46return0;
47 }
poj 1422Air Raid 最小路徑覆蓋
題意 有個城鎮,所有路都是單行道,並且沒有環,所有路都連線在十字路口上 現在用最少的傘兵走完這些式子路口,每個只能走一遍 很明顯的最小路徑覆蓋 最小路徑覆蓋 點數 最大匹配 需要拆點 所有式子路口 在x中乙個 在y中乙個 路把兩個集合中十字路口連線起來 求最大匹配 還是匈牙利 include inc...
POJ 1422 Air Raid 最小路徑覆蓋
題意 有n個十字路口,這些十字路口通過m條路連線,邊是單向的,現在要派一些傘兵去空襲這些十字路口,每個傘兵可以沿著一條路空襲沿路的十字路口,問最少要派出多少傘兵。解法 對於有向無環圖求最小的路徑覆蓋數相當於將原圖中的點拆開後,求乙個最大匹配數,然後用頂點數減去最大匹配數就是最小路徑覆蓋了。如下 in...
POJ 1422 Air Raid 最小路徑覆蓋
題意 有n個十字路口,這些十字路口通過m條路連線,邊是單向的,現在要派一些傘兵去空襲這些十字路口,每個傘兵可以沿著一條路空襲沿路的十字路口,問最少要派出多少傘兵。解法 對於有向無環圖求最小的路徑覆蓋數相當於將原圖中的點拆開後,求乙個最大匹配數,然後用頂點數減去最大匹配數就是最小路徑覆蓋了。如下 in...