#include<iostream>
#include<cstdio>
using namespace std;
int n,m,x,y,z;
int f[150000]; //f[i]表示i的祖先
inline int find(int x){ //inline是把这个函数插入到调用的地方,速度会快一点 if(f[x]==x) return f[x]; //如果找到了根就返回 return f[x]=find(f[x]); //没有找到就一直递归,直到找到,找到的同时压缩路径
}
inline void join(int a,int b){ //把a、b加入并查集 int fa=find(f[a]),fb=find(f[b]); //分别找到a、b的祖先 f[fa]=fb; //把a、b的祖先连起来
}
int main(){int i,j;scanf("%d%d",&n,&m);for(i=1;i<=n;i++) f[i]=i; //对每一个f赋初值 for(i=1;i<=m;i++){scanf("%d%d%d",&z,&x,&y);if(z==1) join(x,y);else if(find(f[x])==find(f[y])) printf("Y\n");else printf("N\n");}
}

转载于:https://www.cnblogs.com/Glacier-elk/p/9239555.html

题解 P3367 【【模板】并查集】相关推荐

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

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

  2. ACM模板——并查集

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

  3. PAT甲级1126 Eulerian Path:[C++题解] 欧拉路径、并查集,测试点4有问题请进来

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 欧拉图: 1)连通 2)度都为偶数 半欧拉图:欧拉路径:2)连通2) 度为奇数的结点有两个,其他度都是偶数 非欧拉图:不是欧拉图和半 ...

  4. 【题解 海量集训 并查集】 银河英雄传说

    题目传送门 题目描述: 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆 ...

  5. 【畅通工程 HDU - 1232 】【并查集模板题】

    并查集讲解和模板 有一个博文对此分析的很透彻,附链接 为避免原链接失效,现摘录如下: 为了解释并查集的原理,我将举一个更有爱的例子. 话说江湖上散落着各式各样的大侠,有上千个之多.他们没有什么正当职业 ...

  6. 战争来临(并查集模板题)

    战争来临(并查集模板题) 描述   那一个骑单车卖报纸的少年 恐慌的眼泪慢慢布满了侧脸----<战争世界>   B国对A国发动了侵略战争,A国不得不全力抵御.A国幅员辽阔,后方群众的支援补 ...

  7. cdoj 1070 秋实大哥打游戏 带权并查集

    题目链接: http://acm.uestc.edu.cn/#/problem/show/1070 题意: 题解: 带权并查集 每次往上更新的时候,顺便把边权更新了就好 记住得路径压缩 代码: 1 # ...

  8. 【uoj#142】【UER #5】万圣节的南瓜灯 乱搞+并查集

    题目描述 给出一张 $n\times m$ 的网格图,两个格子之间有一条双向边,当且仅当它们相邻,即在网格图中有一条公共边. 特殊地,对于 $1\le x\le n​$ ,$(x,1)​$ 和 $(x ...

  9. 食物链(扩展域并查集)

    题目描述 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形. A吃B, B吃C,C吃A. 现有N个动物,以1-N编号. 每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种 ...

  10. 【bzoj 入门OJ】[NOIP 热身赛]Problem C: 星球联盟(并查集)

    Problem C: 星球联盟 Time Limit: 4 Sec  Memory Limit: 256 MB Submit: 57  Solved: 15 [Submit][Status][Web ...

最新文章

  1. 糟糕的css用法 1
  2. android 隐藏导航栏 虚拟键
  3. v1.0.2-2017.04.26
  4. Oracle表空间状态
  5. 【STL学习】优先级队列Priority Queue详解与C++编程实现
  6. chromium关闭更新_你的Win10系统20H2了吗此乃Win10年度最靠谱的更新还有Win10优化大师助阵...
  7. 跟着百度学PHP[4]OOP面对对象编程-16-switch逻辑就语句
  8. 每天一个linux命令(28):diff 命令
  9. Centos 5.6 安装subversion总结
  10. Python实现繁体字和简体字的相互转换
  11. ICP备案不等于ICP许可证
  12. 零基础学摄影 || 人像摄影下相机参数设置
  13. [BAPI]如何读取采购订单PO审批状态数据-[BAPI_PO_GETRELINFO]
  14. 教教你如何配置汤姆猫 和 Java 环境变量的设置
  15. MySQL医疗信息管理系统数据库(源码)
  16. 筷子SaaS智能系统源码-短视频私域流量增长解决方案,出【源码-无限授权】
  17. html如何大小写转换键,怎么把26键变成大写 26键拼音小写怎么转换大写?
  18. Yii2 中添加全局函数
  19. Flex布局之flex:1
  20. vlc在C#的使用方法

热门文章

  1. 设计模式再学习之单例模式
  2. Linux系统基本操作(二)—设置本地光盘为yum源
  3. linux设置开机启动 服务不支持chkconfig解决方法脚本
  4. 海龟交易法则15_万事俱备
  5. vnpy策略回测如何设置滑点手续费和size
  6. 不会python怎么了?靠敏捷BI和数据可视化,照样去阿里腾讯
  7. 仅用半小时,从Python爬取到BI可视化,告诉你深圳房价有多贵
  8. 快、准、狠!秒杀Excel的报表工具,十分钟教你做好数据填报
  9. Flex in a Week video training
  10. php中获取随机数的方法,PHP实现获取随机数的方法