洛谷 P2126 Mzc家中的男家丁

2021-08-09 08:45:07 字數 1319 閱讀 4738

題目背景

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

1/*2

明顯的mst

3但是這個題用kruskal就是wa(百思不得其姐)

4所以就寫了一遍prim 就過了5*/

6 #include7 #include8 #include9

#define maxn 10000

10using

namespace

std;

11int

n,m,x,y,ans;

12int f[2301][2301

],l[maxn];

13bool

used[maxn];

14 inline void read(int&x)

17while(c>='

0'&&c<='

9')

18 x=x*f;19}

20 inline void

prim() 32}

33 used[k]=true

;34 ans+=l[k];

35for(int j=1;j<=n;j++) 39}

40return;41

}42intmain()

52prim();

53 printf("

%d\n

",ans);

54return0;

55 }

**

洛谷 P2126 Mzc家中的男家丁

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

洛谷 P2126 Mzc家中的男家丁

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

洛谷 2126 Mzc家中的男家丁

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