修复公路(并查集)

news/2025/1/5 20:27:18/文章来源:https://www.cnblogs.com/benscode/p/18651809

题目链接:https://www.luogu.com.cn/problem/P1111

题意:

有n个村,给你m个信息,1个信息包含存在道路的两个村子以及通路的时间,让你求是否每个村子都能相连,若能相连输出通路最短时间

思路:

并查集+排序
一个集合中的村子能够相互连通,所以就看本来并查集n个独立的集合能不能通过所给操作union成一个共同的集合
由于要查询最短时间,所以按时间排序

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
struct node{int x;int y;int t;
};
const int maxn=1e5+5;
int n,m;
int cnt;
node arr[maxn];
bool cmp(node a,node b)
{return a.t<b.t;
}
int father[maxn];
void build()
{for(int i=1;i<=n;i++)father[i]=i;
}
int find(int x)
{if(x!=father[x]){father[x]=find(father[x]);}return father[x];
}
void merge(int x,int y)
{if(find(x)!=find(y)){father[find(x)]=find(y);cnt--;
}
}
signed main()
{ios::sync_with_stdio(false),cin.tie(0);cin>>n>>m;cnt=n;for(int i=1;i<=m;i++){cin>>arr[i].x>>arr[i].y>>arr[i].t;}sort(arr+1,arr+1+m,cmp);build();for(int i=1;i<=m;i++){merge(arr[i].x,arr[i].y);if(cnt==1){cout<<arr[i].t;return 0;}}cout<<-1;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/863818.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过网址或html生成一个简单apk

GitHub - pzx521521/apk-editor 通过网址或html生成一个简单apk 之前发过一个使用apktool版本的,简单来说就是一个对apk反编译和编译的过程相比使用apktool有以下优点:[x] 没有环境依赖,完全不需要 jdk/jre [x] 无需中间调用apktool,容易部署到服务器/docker使用 Online Demo 修…

EXCEL中自动突出显示(自动高亮)行或列

EXCEL中,当选择的单元格距离列首或行首过远时,考验眼睛的时候就到了。解决方法很多,如果想要自动突出显示,就只能上vba代码了。解决的问题 EXCEL中,当选择的单元格距离列首或行首过远时,考验眼睛的时候就到了。解决方法很多,如果想要自动突出显示,就只能上vba代码了。方…

DL00868-基于深度学习的红外船舶检测识别分类完整实现数据8000+

随着遥感技术的快速发展,包括无人机、卫星等,红外图像在船舶检测识别中的作用日益凸显。相对于可见光图像,红外图像具有在夜晚和恶劣天气条件下高效检测识别船舶的天然优势。近年来,深度学习作为一种强大的图像处理技术,在红外船舶检测识别领域取得了显著进展。完整链接:…

基于深度学习的红外船舶检测识别分类完整实现数据集8000+张

随着遥感技术的快速发展,包括无人机、卫星等,红外图像在船舶检测识别中的作用日益凸显。相对于可见光图像,红外图像具有在夜晚和恶劣天气条件下高效检测识别船舶的天然优势。近年来,深度学习作为一种强大的图像处理技术,在红外船舶检测识别领域取得了显著进展。完整链接:…

第三章 MBR -- loader

第三章 MBR --> loader 本文是对《操作系统真象还原》第三章学习的笔记,欢迎大家一起交流。 a 知识介绍 在上一章的代码部分,我们通过 BIOS 中断进行字符输出,但是离开实模式之后,BIOS 中断就没法用了,因为 BIOS 中断向量表只在实模式下存在,因此我们肯定还会有别的方…

正常运行 打包后提示某些属性或者类找不到

lombok 注解未正确加载,注意 idea属性修改

itextpdf 找出PDF中 文字的坐标

目录添加引用添加工具类调用 找到位置,签名的话见:https://www.cnblogs.com/vipsoft/p/18644127 新项目可以尝试一下 iText 7 , 我这边是老项目所以还是继续使用 iText 5,主打够用 iText 5 没有直接提供获取文本精确位置的功能。它只能提取文本内容,而文本位置通常需要通过…

Jmeter 进行websocket接口测试

什么是websocket协议? Websocket是基于tcp的一种全双通信协议,客户端与服务器之间通过websocket建立连接后,客户端和服务器之间会长时间保持连接状态(即长连接)。客户端可以向服务器发送数据,服务器也可以主动向客户端推送数据。与http协议不同的是http是tcp的单向通信协…

vscode下载vetur和vue-helper插件之后删除键(backspace)失效

最近我在学习前端的过程中,使用vscode下载的vue的插件:vetur和vue-helper这两个 但随后在写代码的时候发现删除键(backspace)不能使用,其他键都能正常使用,也可以用鼠标选中右键剪切/删除 最后发现是上面的插件会占用backspace按键作为插件的功能键 解决方法 点击左上角—…

使用 C# WPF 根据 SEGY 数据绘制二维地震图

一、引言 在地震勘探领域,SEGY(Society of Exploration Geophysicists Y-data)文件格式是常见的地震数据存储格式。对于地震数据的可视化,通常会将 SEGY 文件中的振幅数据通过图像进行展示,以便进行分析。本文将介绍如何使用 C# WPF 应用程序绘制基于 SEGY 数据的二维地震…

为什么浏览器打开的网页默认是英文显示?

最近在学习的时候遇到的问题,打开一些软件的官网默认都是英文(即使这些网站是国内做的)。 其中一个原因是浏览器的默认设置语言是英文 修改浏览器默认语言 以Google Chrome浏览器为例: 右上角三个点—>设置 左边找到“语言” 将中文置顶