zoukankan      html  css  js  c++  java
  • Out of hay

    题目背景

    奶牛爱干草

    题目描述

    Bessie 计划调查N (2 <= N <= 2,000)个农场的干草情况,它从1号农场出发。农场之间总共有M (1 <= M <= 10,000)条双向道路,所有道路的总长度不超过1,000,000,000。有些农场之间存在着多条道路,所有的农场之间都是连通的。

    Bessie希望计算出该图中最小生成树中的最长边的长度。

    输入格式

    两个整数N和M。

    接下来M行,每行三个用空格隔开的整数A_i, B_i和L_i,表示A_i和 B_i之间有一条道路长度为L_i。

    输出格式

    一个整数,表示最小生成树中的最长边的长度。

    输入输出样例

    输入 #1
    3 3
    1 2 23
    2 3 1000
    1 3 43
    输出 #1
    43


    并查集

    意思就是说,开始的每个点都是独立的集合,加边的时候就合并起来,如果已经是联通的就跳过。

    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,m,i,ans,p[20005],f;
    struct pt{
        int pnt1;
        int pnt2;
        int length;
    } a[200100];
    
    bool cmp(pt x, pt y){
        return x.length<y.length;
    }
    
    inline int read(){
        int s=0,w=1;
        char ch=getchar();
        while(ch<'0'||ch>'9'){
            if(ch=='-'){
                w=-1;
            }
            ch=getchar();
        }
        while(ch>='0'&&ch<='9'){
            s=s*10+ch-'0';
            ch=getchar();
        }
        return s*w;
    }
    
    
    int ch(int x){
        if(p[x]==x){
            return p[x];
        }
        p[x]=ch(p[x]);
        return p[x];
    }
    int main(){
        scanf("%d%d",&n,&m);
        for(i=1;i<=m;i++){
            a[i].pnt1=read();
            a[i].pnt2=read();
            a[i].length=read();
        }
        for(i=1;i<=n;i++){
            p[i]=i;
        }
        sort(a+1,a+m+1,cmp);
        i=0;
        while(f<n-1){
            i++;
            if (ch(a[i].pnt1)!=ch(a[i].pnt2)){
                p[ch(a[i].pnt1)]=ch(a[i].pnt2);
                if (ans<a[i].length){
                    ans=a[i].length;
                }
                f++;
            }
        }
        printf("%d",ans);
    }
  • 相关阅读:
    Windows7 64位 安装mysql
    汉诺塔(hanoi)
    大数据时代,Python是最好的语言!
    本地项目上传到github
    函数去抖(debounce)与 函数节流(throttle)
    vue项目出现的错误汇总
    vue-cli + webpack自动生成项目
    webpack和gulp
    前端开发利器之静态服务器
    vue开发知识点汇总
  • 原文地址:https://www.cnblogs.com/hrj1/p/11638646.html
Copyright © 2011-2022 走看看