樣例輸入45
11 2 3
1 3 4
1 4 5
2 3 8
3 4 2
樣例輸出4
樣例說明
下圖是樣例說明。
分析:第一眼看到題目,想著是超級複雜的圖論問題,看懂樣例後,就感慨為啥當初我考的時候遇不到這麼簡單的題目呢?
把之前14年考過的乙個最優灌溉**複製一下,改幾行**,幾分鐘就ac了。
言歸正傳,題目用很複雜的概念定義,可能原本是想讓我們按照它的思路去分深度討論,還要求輸入根結點序號,根本用不到。
題目意思簡單描述下,就是給你乙個無向圖,求它的最小生成樹上權值最大的邊。所以使用一下並查集模板,刪掉求總代價的語句,直接輸出最後加上的邊的權值就ok了。
#include #include using namespace std;
const int maxn = 50005;
const int maxm = 100005;
struct node
road[maxm];
int father[maxn+1];
bool cmp(node a,node b)
int getfather(long d)
int main()
if(count == n - 1) break;
}printf("%d",road[i].cost);
return 0;
}
CCF 201812 4 試題名稱 資料中心
具體題目就不貼了。不得不說這是一道非常嚇人的題。解題思路 審題有些難度,第一眼看到這道題有些嚇人,細細分析 ac 後發現其實不難。題目中希望求出乙個最優的樹結構傳輸圖,也就是乙個最大傳輸時間最小的樹。接下來來看對最大傳輸時間tma xt tmax 的定義 tma xt tmax 是樹中每層的最大傳輸...
CCF 201812 4 資料中心(最小生成樹)
題意 給乙個樹,並給乙個節點root,樹上有邊權,現在所有的節點要向節root傳送資料,求整棵樹上最小的最大邊權。其實就是最小生成樹裸題。構造一顆最小生成樹,無論以哪個節點為root,其實都要輸出任意一層上的最大邊權。也就是說,在構建mst的時候維護個最大的邊權作為ans就好了,坑點是明明只有5e4...
201812 4 資料中心
題目要求求圖形成的樹的邊的最大值的最小值 好繞 總之是乙個貪心,可以通過貪心推導 不過推導完可以發現實際上就是在求最小生成樹 下面分別用不同的方法實現 kruskal演算法,用到了並查集 如下 include include include include define n 500001 using...