并查集模板——并查集(洛谷 P3367)
题目选自洛谷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)相关推荐
- P3387 【模板】缩点 洛谷 java题解 连通图+拓扑排序
传送门: P3387 [模板]缩点 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P3387 问题分析 首先为了节省 ...
- 洛谷 P3367 【模板】并查集
嗯... 题目链接:https://www.luogu.org/problemnew/show/P3367 并查集可以支持的操作:"并"和"查".然后这道题主要 ...
- 洛谷 P3367 ---- 【模板】并查集
题目描述 给出一个并查集,请完成合并和查询操作. 输入格式: 第一行包含两个整数N.M,表示共有N个元素和M个操作. 接下来M行,每行包含三个整数Zi.Xi.Yi 当Zi=1时,将Xi与Yi所在的集合 ...
- 【训练题22:线性求逆元】【模板】乘法逆元 | 洛谷 P3811
[模板]乘法逆元 难度 普及/提高\color{yellow}普及/提高普及/提高 板子题,给出两种方法 题意 给 n,pn,pn,p 求出所有 i∈[1,n]i\in[1,n]i∈[1,n]在模 p ...
- 【模板】快速排序(洛谷-P1177)
题目描述 利用快速排序算法将读入的N个数从小到大排序后输出. 快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成.(C++选手请不要试图使用STL ...
- 洛谷——P3807 【模板】卢卡斯定理
P3807 [模板]卢卡斯定理 洛谷智推模板题,qwq,还是太弱啦,组合数基础模板题还没做过... 给定n,m,p($1\le n,m,p\le 10^5$) 求 $C_{n+m}^{m}\ mod\ ...
- 洛谷P1536村村通(并查集模板题)
问题出处: https://www.luogu.com.cn/problem/P1536 题目描述: 某市调查城镇交通状况,得到现有城镇道路统计表.表中列出了每条道路直接连通的城镇.市政府 " ...
- 最小生成树——洛谷并查集、口袋的天空
最小生成树--并查集 简单模板题-洛谷3367并查集 题目描述 如题,现在有一个并查集,你需要完成合并和查询操作. 输入格式 第一行包含两个整数 N,MN,M ,表示共有 NN 个元素和 MM 个操作 ...
- 洛谷·[POI2005]SKA-Piggy Banks 小猪存钱罐【Tarjan 并查集
初见安~这里是传送门:洛谷P3420 题目描述3 Byteazar the Dragon has NN piggy banks. Each piggy bank can either be opene ...
最新文章
- 从互联网大厂裸辞 500 天后,我发生哪些变化?
- squid一些其它配置
- 修改mysql数据库服务器时间格式,修改本地mysql数据库时间格式
- 高级C语言教程-作用域
- 长庆企业信息化管理课件_详解:企业信息化管理系统,不能马虎对待
- python 多次读取文件的细节
- c语言 freopen txt_C语言文件操作函数freopen详细解析
- Mac OS/Linux命令查询网络端口占用情况
- 共享按摩椅理财系统|金融投资理财系统
- Html5与CSS3权威指南 百度云下载
- 漫画:大厂总体 SaaS 化部署,到底什么是 IaaS、PaaS 和 SaaS?
- java学习,不定期更新~
- JavaScript文档对象模型概述(1)
- java 浏览文件_Java浏览文件对话框
- 概率论:多元高斯分布
- bzoj4332;vijos1955:JSOI2012 分零食
- 档案系列包括图书馆管理与服务器,基于Web的图书馆档案管理系统设计与实现.pdf...
- Redis 设置密码登录
- 在Java语言的if语句是什么表达式,if语句中的条件表达式中只能使用
- 高等数学拾遗 矢量分析