国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

codevs 1231_最優(yōu)布線問(wèn)題_最小生成樹(shù)

2019-11-14 09:24:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

題目描述

學(xué)校需要將n臺(tái)計(jì)算機(jī)連接起來(lái),不同的2臺(tái)計(jì)算機(jī)之間的連接費(fèi)用可能是不同的。為了節(jié)省費(fèi)用,我們考慮采用間接數(shù)據(jù)傳輸結(jié)束,就是一臺(tái)計(jì)算機(jī)可以間接地通過(guò)其他計(jì)算機(jī)實(shí)現(xiàn)和另外一臺(tái)計(jì)算機(jī)連接。

為了使得任意兩臺(tái)計(jì)算機(jī)之間都是連通的(不管是直接還是間接的),需要在若干臺(tái)計(jì)算機(jī)之間用網(wǎng)線直接連接,現(xiàn)在想使得總的連接費(fèi)用最省,讓你編程計(jì)算這個(gè)最小的費(fèi)用。


思路

就是一個(gè)最小生成樹(shù)問(wèn)題,這里因?yàn)閿?shù)據(jù)大,用了并查集+kruskal,暴力一下就可以了 O(nlogn)


#include <stdio.h>#include <algorithm>using namespace std;int f[100001];struct arr{ int x,y,z;};arr a[100001];int cam(arr x,arr y){ return x.z<y.z;}int find(int x){ if (!f[x]) return x; f[x]=find(f[x]); return f[x];}int insert(int x,int y){ if (find(x)!=find(y)) { f[find(x)]=find(y); return 1; } return 0;}int main(){ int n,m; scanf("%d%d",&n,&m); for (int i=1;i<=m;i++) scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z); sort(a+1,a+m+1,cam); long long tot=0; for (int i=1;i<=m;i++) { if (find(a[i].x)!=find(a[i].y)) { tot+=a[i].z; insert(a[i].x,a[i].y); } }
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汽车| 宁明县| 中阳县| 同仁县| 墨玉县| 广宁县| 新宾| 浙江省| 瑞丽市| 镇原县| 穆棱市| 建瓯市| 松溪县| 汽车| 龙岩市| 许昌县| 屏边| 临邑县| 莱阳市| 伊宁县| 阜城县| 安阳县| 澄江县| 吴桥县| 高要市| 缙云县| 海口市| 凤阳县| 万山特区| 资源县| 禄丰县| 荆州市| 宿州市| 金昌市| 丰顺县| 阳原县| 沭阳县| 阳原县| 乌拉特后旗| 织金县| 将乐县|