題目在:
因為是按照分類做題目,所以在明知這個題目是 最小路徑覆蓋的時候,就匆忙寫好**,提交,結果wa。
而傳統的最小路徑覆蓋的結果中,不同路徑是不能出現重複點的。
所以這個題目中的 兩個點之間是否可達就要重新定義了。
因為可以過相同的點,所以可以認為兩個點,只要在按照圖遍歷的方法遍歷的時候能遍歷的到,就應該是聯通的。
按照這個思路可以先用演算法將 連線關係擴充套件,然後用擴充套件後的連線關係來 求最小路徑覆蓋:
#include #include #define max_num 505
int vvadj[max_num][max_num];
bool visit[max_num];
int matched[max_num];
int npoints;
bool dfs(int f)
} }return false;
}void getvvadjacency()}}
} }}int main()
memset(matched, -1, sizeof(matched));
memset(vvadj, 0, sizeof(vvadj));
int i;
int f,t;
for( i = 0; i < nroad; i++)
getvvadjacency();
int count = 0;
for( i = 1; i <= npoints; i++)
}printf("%d\n", npoints - count);
} return 0;
}
過山車(最大二分匹配)
題目鏈結 problem description rpg girls今天和大家一起去遊樂場玩,終於可以坐上夢寐以求的過山車了。可是,過山車的每一排只有兩個座位,而且還有條不成文的規矩,就是每個女生必須找個個男生做partner和她同坐。但是,每個女孩都有各自的想法,舉個例子把,rabbit只願意和x...
poj 1719最大二分匹配hungary演算法
二分圖 如果乙個圖g,v能夠劃分成為兩個子集,v1,v2,而這兩個子集中的點兩兩不相鄰,則這個圖稱為二分圖 匹配 e的乙個子集e1,使得v1中的點至多只與v2中的乙個點相鄰,則我們可以稱為g1,則這個子圖為e的乙個匹配 最大匹配 如果乙個匹配所包含的邊最多,則稱為最大匹配.hungary演算法 圖論...
poj 3343 二分匹配 二分
題意 n個人類星球和m個外星人星球,每個星球 包括外星人的 都有乙個初始的飛船數sh1 i 還有乙個每年生產的飛船數p i 還有乙個n m的矩陣d,d i,j 表示從人類星球i到外星人星球j的年數 年啊 當乙個人類星球i可以擊敗乙個外星人星球j的唯一條件是在出發年數ye,ye d i,j p i s...