1863 暢通工程 並查集最小生成樹

2022-05-28 15:03:12 字數 1039 閱讀 8071

題目鏈結

問題描述:

簡單的最小生成樹的題,將路徑按cost從小到大排序,利用克魯斯塔爾求最小生成樹演算法就行。

**:

1 #include2 #include3 #include4

5using

namespace

std;

6struct

road717

bool

operator

18//

必須要帶const,使用stl,或者自己寫compare函式

19//

優先順序大的在佇列的前面,所以過載的時候需要注意需要的形式

2023

24};

2526

int father[101

];27

int getfather(int a) //

路徑壓縮

2834

else

35return

father[a];36}

3738 priority_queueq;

39//

並查集40

41int

num;

42int

vnum;

4344

intmain()45;

50while

(num)

5157

for(int i=0; i)

5862

while(!q.empty())

6372}73

if(ok == vnum-1

)74 cout

75else

76 cout<

<

77 ok = 0

;78 cin>>num>>vnum;

7980}81

return0;

82 }

暢通工程 最小生成樹 並查集

省 暢通工程 的目標是使全省任何兩個村莊間都可以實現公路交通 但不一定有直接的公路相連,只要能間接通過公路可達即可 經過調查評估,得到的統計表中列出了有可能建設公路的若干條道路的成本。現請你編寫程式,計算出全省暢通需要的最低成本。input 測試輸入包含若干測試用例。每個測試用例的第1行給出評估的道...

HDU1863 暢通工程 最小生成樹

最小生成樹 題目大意 給出n個村莊直接的道路權值,讓求出連線所有村莊的權值的最小值。注意判斷一下村莊不連通的情況就行了。include include include define max 105 define inf 999999999 using namespace std bool s max...

HDU 1863 暢通工程 最小生成樹

省 暢通工程 的目標是使全省任何兩個村莊間都可以實現公路交通 但不一定有直接的公路相連,只要能間接通過公路可達即可 經過調查評估,得到的統計表中列出了有可能建設公路的若干條道路的成本。現請你編寫程式,計算出全省暢通需要的最低成本。input 測試輸入包含若干測試用例。每個測試用例的第1行給出評估的道...