並查集的應用 暢通工程

2021-09-12 21:50:13 字數 482 閱讀 9219

暢通工程

#includeint n,m,a,b;

int road[1010];

int findroot(int x)

int main()

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

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

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

} return 0;

}

把連線在一起的一些結點看成是一棵樹,然後不斷地更新所有的結點,直到都在一棵樹上面。

原理:使用雙親結點表示法來表示一棵樹,根節點使用-1來表示。剛開始的時候假設所有的城鎮都沒有相連,所以把所有的城鎮結點都表示為-1。

然後把已經相連的城鎮進行輸入

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

}

最後找出所有為-1的結點,這就是還剩幾棵樹,然後需要的道路數目就是樹的數目減一。

並查集 暢通工程

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

並查集(暢通工程)

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

暢通工程 並查集演算法

馬上寒假還有七天都結束了,今天遇到了這個題目,好久都沒有寫部落格感覺都已經費了,今天就來寫一下部落格,算是紀念一下這個暑假 大概我已經費了 不說廢話了,現在步入正題 並查積是一種高效的資料結構,對於解決一些聯通性問題有著高效果的效率,演算法主要就三個部分,並查集由乙個整數型的陣列和兩個函式構成。陣列...