Week6 資料中心 並查集

2021-10-23 02:18:23 字數 994 閱讀 5463

輸入案例

451

1 2 3

1 3 4

1 4 5

2 3 8

3 4 2

輸出格式

思路分析其實這道題要求的答案,就是對給出的圖,求出其所有可能的生成樹里,最大的邊權最小的那棵生成樹,然後輸出它的那個最大的邊權。

我們知道,最小生成樹一定是瓶頸生成樹,那麼直接求最小生成樹即可——並查集。

題目給出的root變數毫無卵用 #(滑稽)。

那怎麼求出我們想要的最小生成樹呢?對所有的邊初始化排序,按照權值由小到大,然後執行並查集操作,每次都記下當前的max權值,把所有的邊跑完並查集之後,答案就出來了。

//這真的是csp的題目嘛

#include

#include

#include

using

namespace std;

const

int max=

500001

;int n,m,root;

int father[max]

;struct node

}node[max]

;int

findfather

(int x)

intkruskal()

}return res;

}int

main()

cout<<

kruskal()

;return0;

}

week6 灌溉 資料中心

灌溉title input 第1行 乙個數n 第2行到第n 1行 數wi 第n 2行到第2n 1行 矩陣即pij矩陣 output 東東最小消耗的mp值 樣例 input 45 4430 2 2 2 2 0 3 3 2 3 0 4 2 3 4 0 output 9資料中心title 分析 灌溉 分析...

D 資料中心(Week6

樣例輸入 1 2 3 1 3 4 1 4 5 2 3 8 3 4 2 樣例輸出 樣例說明 題目簡化 給定乙個無向圖中的邊,求解最小生成樹 題目思想 kruskal 儲存方式 自定義結構體,其中過載了運算子 實現 將圖中所有的邊根據權重排序,從小到大依次遍歷每一條邊 判斷該邊加入後是否成環,如果成環返...

WEEK6作業 D 資料中心

題目 思路乍看這道題有點難懂,但是看了資料才明白要求的是生成樹中的最大邊中的最小邊,也就是求最小生成樹的問題跟上一道題一樣,不過注意的是要寫路徑壓縮後的 否則會超時。當然最大中取最小也可以用二分的方法,在這裡就不用了。include include using namespace std int p...