题目选自洛谷P3367

是并查集的最入门的题目,也是并查集的模板题~~

如果你还不知道并查集是什么? 请看我的这篇文章 点击链接

题目描述

如题,现在有一个并查集,你需要完成合并和查询操作。

输入格式

第一行包含两个整数 N,M ,表示共有 N 个元素和 M 个操作。

接下来 M 行,每行包含三个整数 Zi​,Xi​,Yi​ 。

当 Zi​=1 时,将 Xi​ 与 Yi​ 所在的集合合并。

当 Zi​=2 时,输出 Xi​ 与 Yi​ 是否在同一集合内,是的输出 Y ;否则输出 N 。

输出格式

对于每一个 Zi​=2 的操作,都有一行输出,每行包含一个大写字母,为 Y 或者 N 。

输入输出样例

输入 1

4 7
2 1 2
1 1 2
2 1 2
1 3 4
2 1 4
1 2 3
2 1 4

输出 1

N
Y
N
Y

说明/提示

对于 30% 的数据,N≤10,M≤20。

对于70% 的数据,N≤100,M≤10^3。

对于 100% 的数据,1≤N≤10^4,1≤M≤2×10^5,1≤Xi​,Yi​≤N,Zi​∈{1,2}。

解题代码:

#include<stdio.h>
#include<iostream>
using namespace std;
int n,m,opt,x,y,f[10001];
void init(){for(int i=1;i<=n;i++) f[i] = i;
}
int find(int x){if(f[x] == x) return x;return f[x] = find(f[x]);
}
void merge(int x,int y){if(find(x) != find(y))f[find(x)] = find(y);
}
int main(){cin>>n>>m;init();for(int i=0;i<m;i++){scanf("%d%d%d",&opt,&x,&y);if(opt == 1){merge(x,y);}else{if(find(x) == find(y)) printf("Y\n");else printf("N\n");}}return 0;
}

并查集模板——并查集(洛谷 P3367)相关推荐

  1. P3387 【模板】缩点 洛谷 java题解 连通图+拓扑排序

    传送门: P3387 [模板]缩点 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P3387 问题分析 首先为了节省 ...

  2. 洛谷 P3367 【模板】并查集

    嗯... 题目链接:https://www.luogu.org/problemnew/show/P3367 并查集可以支持的操作:"并"和"查".然后这道题主要 ...

  3. 洛谷 P3367 ---- 【模板】并查集

    题目描述 给出一个并查集,请完成合并和查询操作. 输入格式: 第一行包含两个整数N.M,表示共有N个元素和M个操作. 接下来M行,每行包含三个整数Zi.Xi.Yi 当Zi=1时,将Xi与Yi所在的集合 ...

  4. 【训练题22:线性求逆元】【模板】乘法逆元 | 洛谷 P3811

    [模板]乘法逆元 难度 普及/提高\color{yellow}普及/提高普及/提高 板子题,给出两种方法 题意 给 n,pn,pn,p 求出所有 i∈[1,n]i\in[1,n]i∈[1,n]在模 p ...

  5. 【模板】快速排序(洛谷-P1177)

    题目描述 利用快速排序算法将读入的N个数从小到大排序后输出. 快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成.(C++选手请不要试图使用STL ...

  6. 洛谷——P3807 【模板】卢卡斯定理

    P3807 [模板]卢卡斯定理 洛谷智推模板题,qwq,还是太弱啦,组合数基础模板题还没做过... 给定n,m,p($1\le n,m,p\le 10^5$) 求 $C_{n+m}^{m}\ mod\ ...

  7. 洛谷P1536村村通(并查集模板题)

    问题出处: https://www.luogu.com.cn/problem/P1536 题目描述: 某市调查城镇交通状况,得到现有城镇道路统计表.表中列出了每条道路直接连通的城镇.市政府 " ...

  8. 最小生成树——洛谷并查集、口袋的天空

    最小生成树--并查集 简单模板题-洛谷3367并查集 题目描述 如题,现在有一个并查集,你需要完成合并和查询操作. 输入格式 第一行包含两个整数 N,MN,M ,表示共有 NN 个元素和 MM 个操作 ...

  9. 洛谷·[POI2005]SKA-Piggy Banks 小猪存钱罐【Tarjan 并查集

    初见安~这里是传送门:洛谷P3420 题目描述3 Byteazar the Dragon has NN piggy banks. Each piggy bank can either be opene ...

最新文章

  1. 从互联网大厂裸辞 500 天后,我发生哪些变化?
  2. squid一些其它配置
  3. 修改mysql数据库服务器时间格式,修改本地mysql数据库时间格式
  4. 高级C语言教程-作用域
  5. 长庆企业信息化管理课件_详解:企业信息化管理系统,不能马虎对待
  6. python 多次读取文件的细节
  7. c语言 freopen txt_C语言文件操作函数freopen详细解析
  8. Mac OS/Linux命令查询网络端口占用情况
  9. 共享按摩椅理财系统|金融投资理财系统
  10. Html5与CSS3权威指南 百度云下载
  11. 漫画:大厂总体 SaaS 化部署,到底什么是 IaaS、PaaS 和 SaaS?
  12. java学习,不定期更新~
  13. JavaScript文档对象模型概述(1)
  14. java 浏览文件_Java浏览文件对话框
  15. 概率论:多元高斯分布
  16. bzoj4332;vijos1955:JSOI2012 分零食
  17. 档案系列包括图书馆管理与服务器,基于Web的图书馆档案管理系统设计与实现.pdf...
  18. Redis 设置密码登录
  19. 在Java语言的if语句是什么表达式,if语句中的条件表达式中只能使用
  20. 高等数学拾遗 矢量分析

热门文章

  1. 通过实例讲解java接口和抽象类的特殊实现方法
  2. 让你不富都难的28个理财习惯
  3. 查看iis的log日志,并按访问量最大的天数倒排序
  4. linux 下的sar工具命令小结
  5. Cisco交换机路由器口令恢复
  6. android url拼接参数,【Tech-Android-Other】高效拼接一个GET请求URL
  7. 面向对象实现放大镜_面向音乐家和音乐爱好者的开放式硬件:耳机,放大器等
  8. 持续交付 devops_DevOps如何帮助向用户交付出色的应用程序
  9. css属性前浏览器厂商前缀
  10. 计算机网络实验1线缆制作,计算机网络技术实验报告1双绞线的制作