CCF 201812 4 資料中心(最小生成樹)

2022-09-17 02:24:08 字數 655 閱讀 3478

題意:給乙個樹,並給乙個節點root,樹上有邊權,現在所有的節點要向節root傳送資料,求整棵樹上最小的最大邊權。

其實就是最小生成樹裸題。構造一顆最小生成樹,無論以哪個節點為root,其實都要輸出任意一層上的最大邊權。也就是說,在構建mst的時候維護個最大的邊權作為ans就好了,坑點是明明只有5e4個編號,n值【節點總數】卻有5e5個,因此不能直接遍歷前n*(n-1)/2條邊,會瘋狂執行錯誤,直接裸的排序遍歷所有邊,克魯斯卡爾一遍就好。

#include

#define ll long long

const

int maxn=

5e5+7;

using namespace std;

struct edge

}ma[maxn]

;ll n,m,rt,z[maxn]

;int

finds

(int x)

void

join

(int x,

int y)

intmain()

// if(cnt==m-1)break;

}printf

("%lld\n"

,ans)

;}

CCF 201812 4 資料中心

樣例輸入45 11 2 3 1 3 4 1 4 5 2 3 8 3 4 2 樣例輸出4 樣例說明 下圖是樣例說明。分析 第一眼看到題目,想著是超級複雜的圖論問題,看懂樣例後,就感慨為啥當初我考的時候遇不到這麼簡單的題目呢?把之前14年考過的乙個最優灌溉 複製一下,改幾行 幾分鐘就ac了。言歸正傳,題...

CCF 201812 4 試題名稱 資料中心

具體題目就不貼了。不得不說這是一道非常嚇人的題。解題思路 審題有些難度,第一眼看到這道題有些嚇人,細細分析 ac 後發現其實不難。題目中希望求出乙個最優的樹結構傳輸圖,也就是乙個最大傳輸時間最小的樹。接下來來看對最大傳輸時間tma xt tmax 的定義 tma xt tmax 是樹中每層的最大傳輸...

201812 4 資料中心

題目要求求圖形成的樹的邊的最大值的最小值 好繞 總之是乙個貪心,可以通過貪心推導 不過推導完可以發現實際上就是在求最小生成樹 下面分別用不同的方法實現 kruskal演算法,用到了並查集 如下 include include include include define n 500001 using...