傳送門
給定n個村子,和m個可能要修的道路,現在要求連線這n個村子的最小成本,如果
無法構成一顆最小生成樹,則輸出?
這題典型的最小生成樹模板題,krusal演算法和prim演算法都可以達到要求
並且這題的資料量不大,並且是完全圖,利用鄰接矩陣做就好
#include
const
int maxn =
1e2+2;
const
int inf =
1<<30;
int g[maxn]
[maxn]
;int n;
int dist[maxn]
;//利用prime演算法儲存剩餘點到最小生成樹的最小距離
int visit[maxn]
;//記錄點是否加入最小生成樹點集之中。
void
init()
intprime()
int ans =0;
for(
int i=
1;i<=n;
++i)
return ans;
}int
main()
int ans =
prime()
;if(ans==-1
)printf
("?\n");
else
printf
("%d\n"
,ans);}
}
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...
hdu1863 暢通工程
題目鏈結 本題和還是暢通工程思路非常類似。區別在於後者給的圖的邊數為n n 1 2,是乙個無向完全圖,一定能找到乙個最小生成樹。而前者給的邊數不定,所以不一定能生成乙個最小生成樹,需要判斷。所用知識點 kruskal演算法 最小生成樹 並查集 如下 include include includeus...
HDU1863 暢通工程
省 暢通工程 的目標是使全省任何兩個村莊間都可以實現公路交通 但不一定有直接的公路相連,只要能間接通過公路可達即可 經過調查評估,得到的統計表中列出了有可能建設公路的若干條道路的成本。現請你編寫程式,計算出全省暢通需要的最低成本。input測試輸入包含若干測試用例。每個測試用例的第1行給出評估的道路...