当前位置: 首页 > news >正文

Problem: lab-week10-exercise02 Building a Fiber Network

Problem

problem
sample

Analysis

这道题看起来是最小生成树或者最短路之类的,但因为只用输出边权和,所以直接对边权排序用并查集即可,以及在用并查集的时候可以进行路径压缩降低时间复杂度。

Code

C++

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m;
int fa[100005];
int f;
bool b=1;
long long ans;struct edge{int u,v,w;
}a[100005];bool cmp(edge x,edge y){return x.w<y.w;
}int find_fa(int x){if(fa[x]==x){return x;}fa[x]=find_fa(fa[x]);return fa[x];
}int main(){cin>>n>>m;for(int i=1;i<=m;++i){cin>>a[i].u>>a[i].v>>a[i].w;}for(int i=1;i<=n;++i){fa[i]=i;}if(n==1){cout<<0<<endl;return 0;}if(m<n-1){cout<<"IMPOSSIBLE\n";return 0;}sort(a+1,a+m+1,cmp);for(int i=1;i<=m;++i){if(find_fa(a[i].u)!=find_fa(a[i].v)){ans+=1ll*a[i].w;fa[fa[a[i].u]]=fa[a[i].v];}}f=find_fa(1);for(int i=2;i<=n;++i){if(find_fa(i)!=f){b=0;break;}}if(b){cout<<ans<<endl;}else{cout<<"IMPOSSIBLE\n";}return 0;
}
http://www.dtcms.com/a/609606.html

相关文章:

  • 在 Linux 环境中配置 Eclipse 以开发 Hadoop 应用
  • 新手如何自己做网站app网站建设存在的困难问题
  • 视觉学习——卷积与神经网络:从原理到应用(量大管饱)
  • java 给鉴权kafka2.7(sasl)发送消息权限异常处理
  • 手机论坛网站源码和卫通app下载
  • 零基础学JAVA--Day32(ArrayList底层+Vector+LinkedList)
  • 了解Bootstrap ——初学者
  • 启动Nginx
  • 手机编程网站网站建设软件是什么意思
  • 设计兼职网站推荐自己做的网站网页错位
  • 第1章 机器学习的诞生与演化
  • 从零开始刷算法——二分-搜索旋转排序数组
  • Spring Boot + Vue 全栈开发实战指南
  • 深度智能体-人机回环
  • ASC学习笔记0013:添加一个新的属性集(初始化为默认值)
  • SpringIOC-注解
  • 关闭网站跳转代码wordpress 图片云存储
  • Java练习——数组练习
  • 导航仪企业网站源码那个网站做拍手比较好
  • 离别的十字路口: 是否还记得曾经追求的梦想
  • 3D地球可视化教程 - 第4篇:第5篇:星空背景与粒子系统
  • Unity Shader Graph 3D 实例 - 一个简单的红外线扫描全身效果
  • 【Mastergo】Mastergo总览
  • steam安装游戏为什么磁盘写入错误?磁盘写入错误怎么办?,同样问题解决方案
  • Unity官方文档 Asset Workflow:Importing Assets 阅读笔记
  • UD动作游戏开发读书笔记--. D游戏所需要的数学知识
  • 网站多语切换怎么做网站跳出率多少合适
  • MySQL数据类型全面解析:从数值精度到字符串优化的最佳实践
  • 太阳光模拟器应用:汽车太阳能天窗的发电效能动态测试
  • ES踩了一坑 script查询与float类型的精度