hdu 1231 暢通工程 並查集初步

2021-07-15 11:32:57 字數 606 閱讀 9608

傳送門:hdu 1231 暢通公路

中文題目就不做過多的解釋了

這個題目主要考察的並查集簡單合併和查詢,沒有壓縮路徑。

但是在這裡說一下路徑壓縮的兩種方法(遞迴和非遞迴)

遞迴:

int find(int x)

非遞迴的就相對來說有點麻煩了

int find(int x)

return r;

}

#include

#include

#define mst(a,b) memset(a,b,sizeof a);

const int maxn = 1e3+5;

int pre[maxn];

int find(int

x)void join(int

x,int

y)int main()

mst(tmp,0);

int ans = 0;

for(int i=1;i<=n;i++)

printf("%d\n",ans-1);

}return

0;}

並查集 暢通工程

problem description 某省調查城鎮交通狀況,得到現有城鎮道路統計表,表中列出了每條道路直接連通的城鎮。省 暢通工程 的目標是使全省任何兩個城鎮間都可以實現交通 但不一定有直接的道路相連,只要互相間接通過道路可達即可 問最少還需要建設多少條道路?input 測試輸入包含若干測試用例。...

並查集(暢通工程)

某省調查城鎮交通狀況,得到現有城鎮道路統計表,表中列出了每條道路直接連通的城鎮。省 暢通工程 的目標是使全省任何兩個城鎮間都可以實現交通 但不一定有直接的道路相連,只要互相間接通過道路可達即可 問最少還需要建設多少條道路?input 測試輸入包含若干測試用例。每個測試用例的第1行給出兩個正整數,分別...

HDU 1232 暢通工程(並查集)

題意 有n個城鎮,已經現在已經有m條道路,每條道路連線兩個城鎮 可以重複連線 目標是使任意兩個城鎮間都可以實現交通 不一定有直接的道路相連,只要互相間接通過道路可達即可 求最少還需要建設多少條道路。本題看上去像圖的連通性問題,和圖論有關,但是其實不必用圖論的那些演算法解決。說這話是因為這是並查集配的...