首页 > 其他分享 >修复公路(并查集)

修复公路(并查集)

时间:2025-01-04 13:22:37浏览次数:1  
标签:node arr 修复 int 公路 查集 cnt long

题目链接: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;
}


标签:node,arr,修复,int,公路,查集,cnt,long
From: https://www.cnblogs.com/benscode/p/18651809

相关文章

  • 洛谷P1525 [NOIP2010 提高组] 关押罪犯(种子并查集基础)
    题目链接:P1525[NOIP2010提高组]关押罪犯-洛谷|计算机科学教育新生态题目难度:普及+/提高题目描述:S城现有两座监狱,一共关押着 N 名罪犯,编号分别为 1∼N,有m对罪犯,每对之间有仇恨值,问如何分配罪犯使得现Z市长要看到其中最大的矛盾值最小。输入格式:每行中两个数之......
  • Redis 爆高危漏洞,请速度修复。。
    大家好,我是R哥。今天一早收到了腾讯云给我的【主机安全】漏洞通知:好家伙,大名鼎鼎的Redis爆高危漏洞了,R哥的题库「Java面试库」也用到了Redis来缓存面试题内容,所以这一下子就引起了我的警惕,赶紧看看什么鬼。漏洞描述下面是漏洞描述和修复说明:https://github.com/redis/r......
  • NocoBase 本周更新汇总:优化及缺陷修复
    汇总一周产品更新日志,最新发布可以前往我们的博客查看。NocoBase目前更新包括的版本更新包括三个分支:main,next和develop。main:截止目前最稳定的版本,推荐安装此版本。next:包含即将发布的新功能,经过初步测试的版本,可能存在部分已知或未知问题。主要面向测试用户,用于收集反......
  • DirectX 修复工具 V4.3 绿色增强版:完美解决 DirectX 和 C++ 问题(修复 0xc000007b 错误
    DirectX修复工具V4.3绿色增强版:完美解决DirectX和C++问题简介DirectX修复工具是一款专为检测和修复DirectX问题而设计的实用工具。它能够精准定位问题并进行高效修复,特别是针对0xc000007b错误,拥有极高的修复成功率。本工具支持所有版本DirectX修复,同时增强版还额......
  • 电脑中缺失的nvrtc64_90.dll文件如何修复?
    一、文件丢失问题案例:nvrtc64_90.dll文件缺失问题分析:nvrtc64_90.dll是NVIDIACUDARuntimeCompilation库的一部分,通常与NVIDIA的CUDAToolkit或相关驱动程序一起安装。如果该文件丢失,可能会导致基于CUDA的应用程序(包括某些游戏)无法正常运行。解决方案:重新安装CUDATo......
  • Kafka安全优化文档:漏洞修复到安全加固
    文章目录1.1.漏洞修复1.1.1.ApacheKafka反序列化漏洞1.1.2.pm2-kafka代码执行漏洞1.1.3.ApacheKafka安全绕过漏洞1.1.4.ApacheKafkaDistribution-SchemaRepository跨站请求伪造漏洞1.1.5.ApacheKafka输入验证错误漏洞的补丁1.1.6.ApacheKafka信息泄露漏洞1.1.7.......
  • 硬盘修复
    硬盘修复硬盘坏了有些可以修,有些不可以。通常我们可以修复的“坏硬盘”有几种情况:1、引导出错,不能正常启动的。这种情况未必是“坏”,通常清除MBR,再重新分区就有70%好。如若不行,应归入第三类。2、可正常分区,可格式化,但扫描发现有“B”标记的,也就是通常所说的“出坏......
  • 并查集
    并查集模板:#include<iostream>#include<vector>usingnamespacestd;//初始化父节点数组vector<int>fa;//查找根节点并进行路径压缩intfindParent(intx){if(x==fa[x])returnx;returnfa[x]=findParent(fa[x]);}//合并两个集合voidunionS......
  • 带权并查集
    #include<bits/stdc++.h>usingnamespacestd;#defineendl'\n'#definexfirst#defineysecond#defineintlonglongconstintN=1e6+10,mod=998244353;intf[N],w[N];//w[i]表示i这个点比根节点的值大多少intfind(intx){ if(f[x]==x)returnx; intp......
  • 应用层修复大语言模型(LLMs)输出异常 JSON 通用解决方案
    摘要:在应用集成大语言模型逐步深入的过程中,对于以JSON为代表的结构化数据输出逐步成为核心用例。在模型无法保证100%生成正确JSON输出的当下,应用层是否有一套能够适配多语言,多种结构化格式,同时提供更为健全修复能力的方案?本文结合个人经验,提出了一个基于ANTLR的修复方......