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

普及组集训数据结构--并查集

P1551 亲戚 - 洛谷 | 计算机科学教育新生态

并查集就是把所有相关联的量串成一串珠子,抽象来说就是:

把此类相关联的量当作节点,两个节点之间连接一条无向边,所形成的图

 例题算法流程:

在此定义“族长”就是一个树的根节点,(树就是一个图);

1):刚开始时,每个人都各自成一个图,(集合)

2):若有两个人相连属于亲戚关系,则把前一个人的族长交给另一个人的族长负责;

如图:

 code:

#include <bits/stdc++.h>
using namespace std;
int n,m,p,mi,mj,xi,yj;
int f[100020];
int find(int x){
	if(x==f[x])return x;
	return f[x]=find(f[x]);//路径压缩(上网查查)
}
void add(int x,int y)f[find(y)]=find(x);//x托给y
int main(){
	scanf("%d%d%d",&n,&m,&p);
	for(int i=1;i<=n;i++){
		f[i]=i;//自成一族
	}
	for(int i=1;i<=m;i++){
		scanf("%d%d",&mi,&mj);
		add(mi,mj);//连接两个图
	}
	for(int i=1;i<=p;i++){
		scanf("%d%d",&xi,&yj);
		if(find(xi)==find(yj))printf("Yes\n");//族长相同属于一个图中
		else printf("No\n");
	}
}

http://www.kler.cn/a/470910.html

相关文章:

  • BloombergGPT: A Large Language Model for Finance——面向金融领域的大语言模型
  • 部署:上传项目代码 配置数据库
  • 代码随想录day38 动态规划6
  • Spring Boot项目中使用单一动态SQL方法可能带来的问题
  • 学习threejs,导入assimp assimp2json格式的模型
  • PyTorch 自动混合精度AMP Grad Scaler 源码解析:_unscale_grads_ 与 unscale_ 函数
  • 学习threejs,导入AWD格式的模型
  • iOS实现在collectionView顶部插入数据效果
  • 分布式IO模块:激光切割机产线高效控制的创新引擎
  • c# 中Parallel.ForEach 对其中一个变量进行赋值 引发报错
  • 计算机网络•自顶向下方法:多址接入协议
  • 【AI数学基础】线性代数:向量空间
  • reactor的Hooks.enableAutomaticContextPropagation();不生效解决方案
  • 基于32单片机的智能语音家居
  • pytest日志显示
  • gesp(C++一级)(18)洛谷:B4063:[GESP202412 一级] 奇数和偶数
  • 某制造集团灯塔工厂解决方案(36页PPT)
  • 安装vue脚手架出现的一系列问题
  • 计算机网络——网络层—路由算法和路由协议
  • 感知器的那些事
  • springboot适配mybatis+guassdb与Mysql兼容性问题处理
  • 升级 Spring Boot 3 配置讲解 —— Spring Boot 3 核心源码专讲
  • 如何在 Ubuntu 22.04 上安装 Nagios 服务器教程
  • Flutter:打包apk,安卓版本更新(二)
  • 使用Python构建远程医疗平台:从零开始的实现指南
  • 【错误记录】HarmonyOS 编译报错 ( DevEco Studio 开发环境 与 API 版本 与 HarmonyOS 版本 的配套关系 )