hdu1863 暢通工程

2021-09-26 14:25:42 字數 525 閱讀 8295

題目鏈結

本題和還是暢通工程思路非常類似。

區別在於後者給的圖的邊數為n*(n-1)/2,是乙個無向完全圖,一定能找到乙個最小生成樹。而前者給的邊數不定,所以不一定能生成乙個最小生成樹,需要判斷。

所用知識點:kruskal演算法(最小生成樹) 並查集

**如下:

#include #include#includeusing namespace std;

struct edge

}buf[5000];

int tree[100];

int find(int x)

return ret;

}int main()

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

if (count == 1) cout << ans << endl;

else cout << "?" << endl;

} return 0;

}

HDU 1863 暢通工程

include include include using namespace std const int maxn 5000 5 int n,m,ans,cnt bool flag struct streat edge maxn int root 105 int find int x void k...

hdu 1863 暢通工程

傳送門給定n個村子,和m個可能要修的道路,現在要求連線這n個村子的最小成本,如果 無法構成一顆最小生成樹,則輸出?這題典型的最小生成樹模板題,krusal演算法和prim演算法都可以達到要求 並且這題的資料量不大,並且是完全圖,利用鄰接矩陣做就好 include const int maxn 1e2...

HDU1863 暢通工程

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