题目地址:

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 【模板】并查集相关推荐

  1. 洛谷P4092树——并查集

    题目:https://www.luogu.org/problemnew/show/P4092 利用并查集,倒序离线,那么从倒序来看被撤销标记的点就再也不会被标记,所以用并查集跳过: 莫名其妙的WA,调 ...

  2. 洛谷[P1396]营救 并查集

    题目地址http://www.luogu.org/problem/show?pid=1396 P1396拯救膜法师(欸??) 题目描述 "咚咚咚--""查水表!" ...

  3. 4.11每日一题之亲戚(洛谷c++)|简单并查集

  4. 并查集模板——并查集(洛谷 P3367)

    题目选自洛谷P3367 是并查集的最入门的题目,也是并查集的模板题~~ 如果你还不知道并查集是什么? 请看我的这篇文章 点击链接 题目描述 如题,现在有一个并查集,你需要完成合并和查询操作. 输入格式 ...

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

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

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

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

  7. 专题·树链剖分【including 洛谷·【模板】树链剖分

    初见安~~~终于学会了树剖~~~ [兴奋]当初机房的大佬在学树剖的时候我反复强调过:"学树剖没有前途的!!!" 恩.真香. 一.重链与重儿子 所谓树剖--树链剖分,就是赋予一个链的 ...

  8. 洛谷·【模板】点分树 | 震波【including 点分树

    初见安-这里是传送门:洛谷P6329 [模板]点分树 | 震波 一.点分树 其实你会点分治的话,点分树就是把点分治时的重心提出来重新连城一棵树. 比如当前点是u,求出子树v的重心root后将root与 ...

  9. ACM模板——并查集

    #define _for(i,a,b) for(int i = (a);i < (b);i ++) const int maxn = 50003; int par[maxn]; //父亲 int ...

  10. 洛谷.4897.[模板]最小割树(Dinic)

    题目链接 最小割树模板.具体见:https://www.cnblogs.com/SovietPower/p/9734013.html. ISAP不知为啥T成0分了.. Dinic: //1566ms ...

最新文章

  1. Linux UserSpace Back-Door、Rootkit SSH/PAM Backdoor Attack And Defensive Tchnology
  2. SpringBoot配置文件值注入方式
  3. Centos DNS服务(二)-bind主从配置与基于TSIG加密的动态更新
  4. matlab运行容量小,可变大小(运行时)输入Simulink Matlab
  5. 开课吧python视频百度云-做摄影2年,工资5000,兼职2W...
  6. WPF多表头技术探索总结
  7. leetcode 504. 七进制数(Java版)
  8. ROS在类中发布和接受消息(标准消息)
  9. Java 如何查询硬盘所有文件
  10. 如何解决string转CString乱码问题?
  11. python pil怎么调用_python3如何使用pil
  12. uniapp中获取元素页面信息的方法
  13. 点云:python版本的点云数据处理库
  14. SQL获得当前时间函数(MySQL)
  15. python distribute包管理工具安装AttributeError错误
  16. 数字时代的“文艺复兴”?起底数字藏品,让人欢喜让人愁
  17. 集宁一中高122班聚会筹委会正式成立
  18. Unity中模型的面数问题
  19. 如何用火狐浏览器firefox模拟手机浏览器客户端
  20. 智能门锁-手机应用相机国产、非国产统计参数对比分析

热门文章

  1. 再不学点东西我们就老了
  2. 关于C语言中的int - float 计算的问题
  3. 【Python】列表解析式
  4. 数模技术转换应用于计算机控制,数模转换器的作用
  5. 吴恩达-deep learning 02.改善深层神经网络:超参数调试、正则化以及优化Week1
  6. Latex数学公式-矩阵中省略号的表示
  7. 节点英雄榜之脑海链:构建区块链化的知识变现经济生态
  8. Beamer Template
  9. 常见名称解析_著名软件著名计算机语言
  10. html表格添加序号,通过layui给数据表格添加序号