zoukankan      html  css  js  c++  java
  • P2820 局域网

    最小生成树模板。

    先把所有边加和,然后求最小生成树,

    最后用和减去最小生成树,即为需要去掉的最大值。 

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    
    int n,m,s,ans;
    int fa[1002];
    
    struct node{
    	int u,v,w;
    }e[2002];
    
    bool cmp(node x,node y)
    {
    	return x.w <y.w ;
    }
    
    int find(int x)
    {
    	if(fa[x]==x) return x;
    	else return fa[x]=find(fa[x]);
    }
    
    int main()
    {
    	scanf("%d%d",&n,&m);
    	for(int i=1;i<=n;++i)
    		fa[i]=i;
    	for(int i=1;i<=m;++i)
    	{
    		scanf("%d%d%d",&e[i].u ,&e[i].v ,&e[i].w );	
    		s+=e[i].w ;
    	}
    	sort(e+1,e+m+1,cmp);
    	for(int i=1;i<=m;++i)
    	{
    		int dx=find(e[i].u );
    		int dy=find(e[i].v );
    		if(dx==dy) continue;
    		ans+=e[i].w ;
    		fa[dx]=dy;
    	}
    	printf("%d",s-ans);
    	return 0;
    } 

    如果你不开心,那我就把右边这个帅傻子分享给你吧,   

    你看,他这么好看,那么深情的望着你,你还伤心吗?   

    真的!这照片盯上他五秒钟就想笑了。   

    一切都会过去的。 

  • 相关阅读:
    构建之法阅读笔记01
    软件工程个人作业01
    第一个PSP0级
    java实现课表的增加
    软件工程概论01
    异常处理
    流与文件课件课后作业1计算容量
    第九周课堂测试
    第八周动手动脑
    JAVA项目中常用的异常知识点总结
  • 原文地址:https://www.cnblogs.com/Mary-Sue/p/9832231.html
Copyright © 2011-2022 走看看