洛谷 P2126 Mzc家中的男家丁

2022-04-05 01:28:18 字數 1246 閱讀 5239

mzc與djn的…還沒有眾人皆知,所以我們要來宣傳一下。

mzc家很有錢(開玩笑),他家有n個男家丁,現在mzc要將她們全都聚集起來(幹什麼就不知道了)。現在知道mzc與男家丁們互相之間通訊的時間,請算出把他們每個人叫到需要的總時間(要重複的哦)。保證能把他們每個人叫到。

輸入格式:

第一行有乙個數n,表示有n個男家丁。第二行乙個數m表示有m條通訊路線。之後m行,每行三個數a[i],b[i],c[i],表示第a[i]個男家丁(或mzc)和第b[i]個男家丁(或mzc)通訊需要時間(雙向)。ai=0表示mzc。

輸出格式:

一行,乙個數sum,表示把他們每個人叫到需要的總時間。

輸入樣例#1:

5

120 2 15

2 3 20

3 5 13

1 3 29

0 1 30

2 4 21

0 3 23

5 1 48

0 4 17

0 5 27

1 2 43

2 5 41

輸出樣例#1:

94

n<=2300

m<=2300000

屠龍寶刀點選就送

裸prim 難以理解為什麼不用取最小邊 

建邊時 dj[x][y]=dj[y][x]=min(dj[x][y],z)  會全wa 。

直接賦值 會ac 。

#include #include 

#include

#define inf 0x7fffffff

#define max 3300

using

namespace

std;

bool

vis[max];

int ans=0

,min[max],dj[max][max],n,m;

intmain()

memset(min,

1,sizeof

(min));

min[

0]=0

;

for(int i=0;i<=n;++i)

}vis[u]=1;ans+=minx;

for(int j=1;j<=n;++j)

if(!vis[j]&&dj[u][j]min[j]=dj[u][j];

}printf("%d

",ans);

return0;

}

洛谷 P2126 Mzc家中的男家丁

題目背景 與 的 還沒有眾人皆知,所以我們要來宣傳一下。家很有錢 開玩笑 他家有 個男家丁,現在 要將她們全都聚集起來 幹什麼就不知道了 現在知道 與男家丁們互相之間通訊的時間,請算出把他們每個人叫到需要的總時間 要重複的哦 保證能把他們每個人叫到。輸入格式 第一行有乙個數n,表示有n個男家丁。第二...

洛谷 P2126 Mzc家中的男家丁

從題目不難看出這是一道最小生成樹的裸題,然後再看資料範圍 n 2300 m 400000 首先想到kruskal或者prim都可以滿足需要,但考慮到這兩種演算法中kruskal應用更廣,所以今天我們重點講一下kruskal演算法。首先回歸最小生成樹的定義 給定一張邊帶權的無向圖 g v,e n v ...

洛谷 2126 Mzc家中的男家丁

mzc與djn的 還沒有眾人皆知,所以我們要來宣傳一下。mzc家很有錢 開玩笑 他家有 個男家丁,現在mzc要將她們全都聚集起來 幹什麼就不知道了 現在知道mzc與男家丁們互相之間通訊的時間,請算出把他們每個人叫到需要的總時間 要重複的哦 保證能把他們每個人叫到。第一行有乙個數n,表示有n個男家丁。...