题解 P3367 【【模板】并查集】
#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 【【模板】并查集】相关推荐
- 并查集模板——并查集(洛谷 P3367)
题目选自洛谷P3367 是并查集的最入门的题目,也是并查集的模板题~~ 如果你还不知道并查集是什么? 请看我的这篇文章 点击链接 题目描述 如题,现在有一个并查集,你需要完成合并和查询操作. 输入格式 ...
- ACM模板——并查集
#define _for(i,a,b) for(int i = (a);i < (b);i ++) const int maxn = 50003; int par[maxn]; //父亲 int ...
- PAT甲级1126 Eulerian Path:[C++题解] 欧拉路径、并查集,测试点4有问题请进来
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 欧拉图: 1)连通 2)度都为偶数 半欧拉图:欧拉路径:2)连通2) 度为奇数的结点有两个,其他度都是偶数 非欧拉图:不是欧拉图和半 ...
- 【题解 海量集训 并查集】 银河英雄传说
题目传送门 题目描述: 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆 ...
- 【畅通工程 HDU - 1232 】【并查集模板题】
并查集讲解和模板 有一个博文对此分析的很透彻,附链接 为避免原链接失效,现摘录如下: 为了解释并查集的原理,我将举一个更有爱的例子. 话说江湖上散落着各式各样的大侠,有上千个之多.他们没有什么正当职业 ...
- 战争来临(并查集模板题)
战争来临(并查集模板题) 描述 那一个骑单车卖报纸的少年 恐慌的眼泪慢慢布满了侧脸----<战争世界> B国对A国发动了侵略战争,A国不得不全力抵御.A国幅员辽阔,后方群众的支援补 ...
- cdoj 1070 秋实大哥打游戏 带权并查集
题目链接: http://acm.uestc.edu.cn/#/problem/show/1070 题意: 题解: 带权并查集 每次往上更新的时候,顺便把边权更新了就好 记住得路径压缩 代码: 1 # ...
- 【uoj#142】【UER #5】万圣节的南瓜灯 乱搞+并查集
题目描述 给出一张 $n\times m$ 的网格图,两个格子之间有一条双向边,当且仅当它们相邻,即在网格图中有一条公共边. 特殊地,对于 $1\le x\le n$ ,$(x,1)$ 和 $(x ...
- 食物链(扩展域并查集)
题目描述 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形. A吃B, B吃C,C吃A. 现有N个动物,以1-N编号. 每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种 ...
- 【bzoj 入门OJ】[NOIP 热身赛]Problem C: 星球联盟(并查集)
Problem C: 星球联盟 Time Limit: 4 Sec Memory Limit: 256 MB Submit: 57 Solved: 15 [Submit][Status][Web ...
最新文章
- 糟糕的css用法 1
- android 隐藏导航栏 虚拟键
- v1.0.2-2017.04.26
- Oracle表空间状态
- 【STL学习】优先级队列Priority Queue详解与C++编程实现
- chromium关闭更新_你的Win10系统20H2了吗此乃Win10年度最靠谱的更新还有Win10优化大师助阵...
- 跟着百度学PHP[4]OOP面对对象编程-16-switch逻辑就语句
- 每天一个linux命令(28):diff 命令
- Centos 5.6 安装subversion总结
- Python实现繁体字和简体字的相互转换
- ICP备案不等于ICP许可证
- 零基础学摄影 || 人像摄影下相机参数设置
- [BAPI]如何读取采购订单PO审批状态数据-[BAPI_PO_GETRELINFO]
- 教教你如何配置汤姆猫 和 Java 环境变量的设置
- MySQL医疗信息管理系统数据库(源码)
- 筷子SaaS智能系统源码-短视频私域流量增长解决方案,出【源码-无限授权】
- html如何大小写转换键,怎么把26键变成大写 26键拼音小写怎么转换大写?
- Yii2 中添加全局函数
- Flex布局之flex:1
- vlc在C#的使用方法