P1195 口袋的天空

2022-05-03 10:54:24 字數 1190 閱讀 8906

小杉坐在教室裡,透過口袋一樣的窗戶看口袋一樣的天空。

有很多雲飄在那裡,看起來很漂亮,小杉想摘下那樣美的幾朵雲,做成棉花糖。

給你雲朵的個數n,再給你m個關係,表示哪些雲朵可以連在一起。

現在小杉要把所有雲朵連成k個棉花糖,乙個棉花糖最少要用掉一朵雲,小杉想知道他怎麼連,花費的代價最小。

輸入格式:

每組測試資料的

第一行有三個數n,m,k(1<=n<=1000,1<=m<=10000,1<=k<=10)

接下來m個數每行三個數x,y,l,表示x雲和y雲可以通過l的代價連在一起。(1<=x,y<=n,0<=l<10000)

30%的資料n<=100,m<=1000

輸出格式:

對每組資料輸出一行,僅有乙個整數,表示最小的代價。

如果怎麼連都連不出k個棉花糖,請輸出'no answer'。

輸入樣例#1:

3 1 2

1 2 1

輸出樣例#1:

1

廈門一中yms原創

題解:

n個點 m條邊 連成k個樹的最小代價  

若k為1 則連成一棵mst跑一次kruskal n-1次連邊  

若 k為2 為最後的圖必須為 兩顆mst n-2次連邊

同理 連成k個mst 進行 n-k次連邊

若進行者n-k次操作中 沒有了邊 (即cpp中的 i

ac**:

#include#include

using

namespace

std;

const

int n=1e5+10

;struct

node

}e[n];

intn,m,k,ans,fa[n];

int find(int

x)int

main()

fx=find(e[i].u);fy=find(e[i].v);

if(fx!=fy)

}printf("%d

",ans);

return0;

}

P1195 口袋的天空

小杉坐在教室裡,透過口袋一樣的窗戶看口袋一樣的天空。有很多雲飄在那裡,看起來很漂亮,小杉想摘下那樣美的幾朵雲,做成棉花糖。給你雲朵的個數n,再給你m個關係,表示哪些雲朵可以連在一起。現在小杉要把所有雲朵連成k個棉花糖,乙個棉花糖最少要用掉一朵雲,小杉想知道他怎麼連,花費的代價最小。輸入格式 每組測試...

P1195 口袋的天空

給你雲朵的個數n,再給你m個關係,表示哪些雲朵可以連在一起。現在小杉要把所有雲朵連成k個棉花糖,乙個棉花糖最少要用掉一朵雲,小杉想知道他怎麼連,花費的代價最小。輸入格式 每組測試資料的 第一行有三個數n,m,k 1 n 1000,1 m 10000,1 k 10 接下來m個數每行三個數x,y,l,表...

P1195 口袋的天空

小杉坐在教室裡,透過口袋一樣的窗戶看口袋一樣的天空。有很多雲飄在那裡,看起來很漂亮,小杉想摘下那樣美的幾朵雲,做成棉花糖。給你雲朵的個數n,再給你m個關係,表示哪些雲朵可以連在一起。現在小杉要把所有雲朵連成k個棉花糖,乙個棉花糖最少要用掉一朵雲,小杉想知道他怎麼連,花費的代價最小。輸入格式 每組測試...