【洛谷】P3367 【模板】并查集
题目地址:
https://www.luogu.com.cn/problem/P3367
题目描述:
如题,现在有一个并查集,你需要完成合并和查询操作。
输入格式:
第一行包含两个整数N,MN,MN,M,表示共有NNN个元素和MMM个操作。接下来MMM行,每行包含三个整数Zi,Xi,YiZ_i,X_i,Y_iZi,Xi,Yi,当Zi=1Z_i=1Zi=1时,将XiX_iXi与YiY_iYi所在的集合合并。当Zi=2Z_i=2Zi=2时,输出XiX_iXi与YiY_iYi是否在同一集合内,是的输出Y
;否则输出N
。
输出格式:
对于每一个Zi=2Z_i=2Zi=2的操作,都有一行输出,每行包含一个大写字母,为Y
或者N
。
代码如下:
#include <iostream>
#include <cstring>
using namespace std;const int N = 1e4 + 10, M = 2e5 + 10;
int n, m;
int p[N];int find(int x) {if (x != p[x]) p[x] = find(p[x]);return p[x];
}int main() {cin >> n >> m;for (int i = 1; i <= n; i++) p[i] = i;while (m--) {int a, b, op;cin >> op >> a >> b;int pa = find(a), pb = find(b);if (op == 1) p[pa] = pb;else if (op == 2) printf("%s\n", pa == pb ? "Y" : "N");}return 0;
}
每次操作时间复杂度O(log∗n)O(\log ^*n)O(log∗n),空间O(n)O(n)O(n)。
【洛谷】P3367 【模板】并查集相关推荐
- 洛谷P4092树——并查集
题目:https://www.luogu.org/problemnew/show/P4092 利用并查集,倒序离线,那么从倒序来看被撤销标记的点就再也不会被标记,所以用并查集跳过: 莫名其妙的WA,调 ...
- 洛谷[P1396]营救 并查集
题目地址http://www.luogu.org/problem/show?pid=1396 P1396拯救膜法师(欸??) 题目描述 "咚咚咚--""查水表!" ...
- 4.11每日一题之亲戚(洛谷c++)|简单并查集
- 并查集模板——并查集(洛谷 P3367)
题目选自洛谷P3367 是并查集的最入门的题目,也是并查集的模板题~~ 如果你还不知道并查集是什么? 请看我的这篇文章 点击链接 题目描述 如题,现在有一个并查集,你需要完成合并和查询操作. 输入格式 ...
- 洛谷 P3367 【模板】并查集
嗯... 题目链接:https://www.luogu.org/problemnew/show/P3367 并查集可以支持的操作:"并"和"查".然后这道题主要 ...
- 洛谷 P3367 ---- 【模板】并查集
题目描述 给出一个并查集,请完成合并和查询操作. 输入格式: 第一行包含两个整数N.M,表示共有N个元素和M个操作. 接下来M行,每行包含三个整数Zi.Xi.Yi 当Zi=1时,将Xi与Yi所在的集合 ...
- 专题·树链剖分【including 洛谷·【模板】树链剖分
初见安~~~终于学会了树剖~~~ [兴奋]当初机房的大佬在学树剖的时候我反复强调过:"学树剖没有前途的!!!" 恩.真香. 一.重链与重儿子 所谓树剖--树链剖分,就是赋予一个链的 ...
- 洛谷·【模板】点分树 | 震波【including 点分树
初见安-这里是传送门:洛谷P6329 [模板]点分树 | 震波 一.点分树 其实你会点分治的话,点分树就是把点分治时的重心提出来重新连城一棵树. 比如当前点是u,求出子树v的重心root后将root与 ...
- ACM模板——并查集
#define _for(i,a,b) for(int i = (a);i < (b);i ++) const int maxn = 50003; int par[maxn]; //父亲 int ...
- 洛谷.4897.[模板]最小割树(Dinic)
题目链接 最小割树模板.具体见:https://www.cnblogs.com/SovietPower/p/9734013.html. ISAP不知为啥T成0分了.. Dinic: //1566ms ...
最新文章
- Linux UserSpace Back-Door、Rootkit SSH/PAM Backdoor Attack And Defensive Tchnology
- SpringBoot配置文件值注入方式
- Centos DNS服务(二)-bind主从配置与基于TSIG加密的动态更新
- matlab运行容量小,可变大小(运行时)输入Simulink Matlab
- 开课吧python视频百度云-做摄影2年,工资5000,兼职2W...
- WPF多表头技术探索总结
- leetcode 504. 七进制数(Java版)
- ROS在类中发布和接受消息(标准消息)
- Java 如何查询硬盘所有文件
- 如何解决string转CString乱码问题?
- python pil怎么调用_python3如何使用pil
- uniapp中获取元素页面信息的方法
- 点云:python版本的点云数据处理库
- SQL获得当前时间函数(MySQL)
- python distribute包管理工具安装AttributeError错误
- 数字时代的“文艺复兴”?起底数字藏品,让人欢喜让人愁
- 集宁一中高122班聚会筹委会正式成立
- Unity中模型的面数问题
- 如何用火狐浏览器firefox模拟手机浏览器客户端
- 智能门锁-手机应用相机国产、非国产统计参数对比分析