zoukankan      html  css  js  c++  java
  • bzoj 1083 繁忙的都市

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1083

    题解:

      在bzoj里能遇到如此如此水的题真是不容易……

      乍一看好像有点吓人,其实是一道Kruskal模板题……

     1 #include<cstdio>
     2 #include<algorithm>
     3 using namespace std;
     4 #define MAXN 1010
     5 int n,m,cnt,fa[MAXN],ans;
     6 struct edge
     7 {
     8     int u,v,val;
     9 }e[MAXN*100];
    10 void add(int x,int y,int z)
    11 {
    12     e[++cnt]={x,y,z};
    13 }
    14 bool cmp(edge a,edge b)
    15 {
    16     return a.val<b.val?true:false;
    17 }
    18 int getfa(int x)
    19 {
    20     return fa[x]=fa[x]==x?x:getfa(fa[x]);
    21 }
    22 inline int max(int x,int y)
    23 {
    24     return x>y?x:y;
    25 }
    26 int main()
    27 {
    28     scanf("%d%d",&n,&m);
    29     int x,y,z;
    30     for(int i=1;i<=m;i++)
    31     {
    32         scanf("%d%d%d",&x,&y,&z);
    33         add(x,y,z);
    34         add(y,x,z);
    35     }
    36     m=cnt;
    37     cnt=1;
    38     sort(e,e+m,cmp);
    39     for(int i=1;i<=n;i++)fa[i]=i;
    40     for(int i=1;i<=m;i++)
    41     {
    42         x=getfa(e[i].u);
    43         y=getfa(e[i].v);
    44         if(x!=y)
    45         {
    46             fa[y]=x;
    47             cnt++;
    48             ans=max(ans,e[i].val);
    49             if(cnt==n)break;
    50         }
    51     }
    52     printf("%d %d",n-1,ans);
    53     return 0;
    54 }
  • 相关阅读:
    p1373【奶牛的卧室】
    p1248【交错匹配】(DP)
    QBXT模拟赛T3
    NOIP冲刺班的考试总结
    欧拉回路的一些东西
    一道dp题目
    Blocks
    玩具取名
    Y的积木
    游荡的奶牛
  • 原文地址:https://www.cnblogs.com/xqmmcqs/p/6006284.html
Copyright © 2011-2022 走看看