zoukankan      html  css  js  c++  java
  • 洛谷P1111 修复公路

    并查集的模板题,唯一需要注意的是记录一下元素个数,看看最终是否全部联通

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    template<class T>void read(T &x)
    {
    	int f=0;x=0;char ch=getchar();
    	while(ch<'0'||ch>'9')  {f|=(ch=='-');ch=getchar();}
    	while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
    	x=f?-x:x;
    }
    struct yhh{
    	int x,y,t;
    	bool operator<(const yhh &x)const{return t<x.t;}
    }a[100007];
    int fa[100007],tot[10007],n,m,ans,res;
    int find(int x)
    {
    	while(x!=fa[x]) x=fa[x];
    	return x;
    }
    void qwq(int x,int y)
    {
    	x=find(x),y=find(y);
    	fa[x]=y,tot[y]+=tot[x];
    	res=max(res,tot[y]);
    }
    int main()
    {
    	read(n),read(m);
    	for(int i=1;i<=m;++i)
    	  read(a[i].x),read(a[i].y),read(a[i].t);
    	sort(a+1,a+m+1);
    	for(int i=1;i<=n;++i)
    	  fa[i]=i,tot[i]=1;
    	 for(int i=1;i<=m;++i)
    	 {
    	 	if(find(a[i].x)==find(a[i].y)) continue;
    	 	qwq(a[i].x,a[i].y);
    	 	ans=max(ans,a[i].t);
    	}	
    	if(res!=n) printf("-1");
    	else       printf("%d",ans);
    	return 0;
    }
    

      

  • 相关阅读:
    Django终端打印SQL语句
    Django之缓存
    Django总结三
    Django之信号
    Django之Form的ModelForm
    git下
    Ajax实现文件的上传
    operator模块
    Django之Form自定义验证规则
    New Concept English Two 32 88
  • 原文地址:https://www.cnblogs.com/Peper/p/9563125.html
Copyright © 2011-2022 走看看