最小生成树BZOJ1682[Usaco2005 Mar]-Out of Hay 干草危机

Posted Yiyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最小生成树BZOJ1682[Usaco2005 Mar]-Out of Hay 干草危机相关的知识,希望对你有一定的参考价值。

...最小生成树裸题,9月最后一天刷水刷水。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 using namespace std;
 5 const int MAXM=10000+50;
 6 const int MAXN=2000+50; 
 7 struct Rec
 8 {
 9     int ori,des,len;
10     bool operator < (const Rec &x) const
11     {
12         return len<x.len;
13     }
14 }edge[MAXM];
15 int par[MAXN],height[MAXN];
16 int n,m;
17 int ans;
18 
19 void initset()
20 {
21     for (int i=1;i<=n;i++)
22     {
23         par[i]=i;
24         height[i]=0;
25     }
26 }
27 
28 int find(int x)
29 {
30     int r=x,temp;
31     while (par[r]!=r) r=par[r];
32     while (x!=r)
33     {
34         temp=par[x];
35         par[x]=r;
36         x=temp;
37     }
38     return (r);
39 }
40 
41 void unionset(int fa,int fb)
42 {
43     if (height[fa]>=height[fb])
44     {
45         par[fb]=fa;
46         if (height[fa]==height[fb]) height[fa]++;
47     }
48     else 
49         par[fa]=fb;
50 }
51 
52 void init()
53 {
54     scanf("%d%d",&n,&m);
55     for (int i=0;i<m;i++)
56     {
57         int u,v,w;
58         scanf("%d%d%d",&u,&v,&w);
59         edge[i].ori=u;
60         edge[i].des=v;
61         edge[i].len=w;
62     }
63 }
64 
65 void solve()
66 {
67     sort(edge,edge+m);
68     initset();
69     ans=0;
70     for (int i=0;i<m;i++)
71     {
72         int fa=find(edge[i].ori);
73         int fb=find(edge[i].des);
74         if (fa!=fb)
75         {
76             unionset(fa,fb);
77             ans=max(ans,edge[i].len);
78         }
79     }
80     printf("%d",ans);
81 }
82 
83 int main()
84 {
85     init();
86     solve(); 
87     return 0;
88 }

 

以上是关于最小生成树BZOJ1682[Usaco2005 Mar]-Out of Hay 干草危机的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ1232[Usaco2008Nov]安慰奶牛cheer 最小生成树

bzoj 1232: [Usaco2008Nov]安慰奶牛cheer最小生成树

bzoj 1083: [SCOI2005]繁忙的都市 (最小生成树)

bzoj 1626: [Usaco2007 Dec]Building Roads 修建道路最小生成树

BZOJ 1232 [Usaco2008Nov]安慰奶牛cheer:最小生成树树上dfs性质

[日常摸鱼]bzoj1083[SCOI2005]繁忙的都市-最小生成树