zoukankan      html  css  js  c++  java
  • bzoj1083 [SCOI2005]繁忙的都市

    题目链接

    裸kruskal算法

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstdlib>
     4 #include<string>
     5 #include<cstring>
     6 #include<cmath>
     7 #include<algorithm>
     8 #include<ctime>
     9 #include<queue>
    10 #include<stack>
    11 #include<map>
    12 #include<set>
    13 using namespace std;
    14 int n,m,fa[333],q,w,e,tot,o;
    15 int getint()
    16 {
    17     int ret=0,f=1;char ch=getchar();
    18     while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    19     while(ch>='0'&&ch<='9')ret*=10,ret+=ch-'0',ch=getchar();
    20     return f==-1?-ret:ret;
    21 }
    22 struct bian
    23 {
    24     int u,v,w;
    25     bian(int u=0,int v=0,int w=0):u(u),v(v),w(w){}
    26     bool operator < (const bian &a)const
    27     {
    28         return w<a.w;
    29     }
    30 }bi[100010];
    31 int find(int x)
    32 {
    33     return x==fa[x]?x:fa[x]=find(fa[x]);
    34 }
    35 int main()
    36 {
    37     n=getint(),m=getint();
    38     for(int i=1;i<=n;i++)fa[i]=i;
    39     for(int i=1;i<=m;i++)
    40     {
    41         q=getint(),w=getint(),e=getint();
    42         bi[i]=bian(q,w,e);
    43     }
    44     sort(bi+1,bi+m+1);
    45     for(int i=1;i<=m;i++)
    46     {
    47         q=find(bi[i].u),w=find(bi[i].v);
    48         if(q!=w)
    49         {
    50             fa[q]=w,tot++;
    51             if(tot==n-1)o=i;
    52         }
    53     }
    54     printf("%d %d",n-1,bi[o].w);
    55     return 0;
    56 }
  • 相关阅读:
    react-document-title
    react-router
    redux-saga 异步流
    redux
    redux-thunk
    react-router-redux
    [翻译] ClockView 时钟
    [翻译] MZTimerLabel 用作秒表或者倒计时
    [翻译] MCProgressView 使用自定义图片做进度显示
    [翻译] ADPopupView 触摸弹出视窗
  • 原文地址:https://www.cnblogs.com/HugeGun/p/5151607.html
Copyright © 2011-2022 走看看