輸入案例
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...