#include<iostream>
#include<cstdio>
using namespace std;
const int N = 100000;
int s[N*2+1];
int n,m,t;
void init_set(){for(int i = 1;i<=2*n;i++){s[i] = i;}
}
int find_set(int x){//代替递归的 int r = x;while(r!=s[r])r = s[r];//找到根节点 int i = x,j;while(i!=r){//往回找的时候,顺便把路上的左右set的值都变成根节点,深度就为1了 j = s[i];//保存了原本 i的祖先 s[i] = r; i = j;    }return r;
}
void union_set(int x,int y){s[find_set(y)] = find_set(x);
}
int main(){cin>>t;while(t--){cin>>n>>m;init_set();for(int i = 1;i<=m;i++){int x,y;char mode;getchar(); scanf("%c%d%d",&mode,&x,&y);if(mode=='D'){union_set(x,y+n);union_set(x+n,y);}else{if((find_set(x)==find_set(y))||(find_set(x+n)==find_set(y+n))) cout<<"In the same gang."<<endl;else if((find_set(x)==find_set(y+n))||(find_set(x+n)==find_set(y))) cout<<"In different gangs."<<endl;else cout<<"Not sure yet."<<endl;}}    }return 0;
}

并查集——Find The Catch The(两个帮派)相关推荐

  1. [NOI2002] 银河英雄传说(带权并查集好题)

    题解: 用两个变量来维护: 1.sz[i]维护第i列元素的个数 2.pre[x]维护第x元素到当前队首的距离. 在并查集是不断维护这两个值. 至于如何维护看下图和文字解释 当然,这样维护还是不够的,对 ...

  2. 花神游历各国 题解(小清新线段树/树状数组+并查集)

    题面 众所周知,这是一道小清新线段树 然而可以用树状数组水过去且跑得飞快 看到区间开方第一反应肯定是线段树懒标记区间修改之类的,但是这个东西似乎确凿不可维护 所以考虑暴力循环单点修改->T飞 于 ...

  3. POJ1988(带权并查集,搬砖块)

    题意:        可以这样理解,有n快方形积木,一开始都是单独的放到哪,然后有两种操作 1 M a b 把a所在的那一堆落到b所在那一堆的上面(一开始自己是一堆) 2 C a 问a下面有多少个积木 ...

  4. POJ 并查集 题目汇总 ——czyuan原创(转)

    继续数据结构的复习,本次的专题是:并查集. 并查集,顾名思义,干的就是"并"和"查"两件事.很多与集合相关的操作都可以用并查集高效的解决. 两个操作代码:    ...

  5. poj 1611 The Suspects // hoj 1564 The Suspects 并查集

    /* 题目: 是说学生0怀疑有SARS病,跟他接触过的俱乐部的所有人以及他接触过的人再与别人接触, 都有可能有SARS病,要你求出给出的所有俱乐部人的名单,要你求出所有的嫌疑犯... 分析: 用并查集 ...

  6. 树形结构 —— 并查集 —— 带权并查集

    [概述] 定义:带权并查集即是结点存有权值信息的并查集. 适用:当两个元素之间的关系可以量化,并且关系可以合并时,可以使用带权并查集来维护元素之间的关系. 权值:带权并查集每个元素的权通常描述其与并查 ...

  7. Mobile Phone Network CodeForces - 1023F(并查集lca+修改环)

    题意: 就是有几个点,你掌控了几条路,你的商业对手也掌控了几条路,然后你想让游客都把你的所有路都走完,那么你就有钱了,但你又想挣的钱最多,真是的过分..哈哈 游客肯定要对比一下你的对手的路 看看那个便 ...

  8. 51nod 1535 深海探险【思维+并查集】

    1535 深海探险 题目来源:  CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 40  难度:4级算法题 很久很久以前的一天,一位美男子来到海边,海上狂风大作.美男 ...

  9. 银河英雄传说 acwing-238 并查集

    题面链接:238. 银河英雄传说 - AcWing题库 题面: 思路:并查集, 如果没有求两艘战舰之间的战舰数量,这就是一题很简单的并查集 但是这题需要计算两艘战舰之间的数量,我们就需要维护一个d数组 ...

最新文章

  1. 技术16期:如何更好的保证数据质量【大数据篇】
  2. Unet项目解析(1): run_training.py
  3. JavaOne 2012:向上,向上和向外:使用Akka扩展软件
  4. 学习Java笔记2018.3.31
  5. 全面剖析Linux库文件路径的添加
  6. 地理信息系统(汤国安)重点整理和推导(第一章)
  7. 编译环境 Golang开发环境 vscode+git
  8. 服务器常见问题,如何解决“远程服务器返回错误”?
  9. React.js 小书
  10. 大楼通信综合布线系统_综合布线系统设计方案时需要注意的事项
  11. linux 批量更改三四级目录 扩展名,Linux批量更改文件后缀名
  12. 一个vue的日历组件ele-calendar
  13. Win7edge浏览器看视频黑屏怎么解决?
  14. 不用电脑怎么设置路由器
  15. linux中文成方块,给linux添加字体
  16. 狂神Mybatis笔记
  17. react使用@tweenjs/tween.js实现数字动态增长
  18. 计算机的操作系统是什么与什么的接口,计算机中操作系统是什么的接口
  19. microLED应该会取代OLED的
  20. C/C++程序员的编程修养

热门文章

  1. python len_python中len
  2. 复利计算公器 网页版 0100
  3. 网站防采集_【土拨鼠网站日记管理(分析推送二合一)】宝塔插件之可疑蜘蛛列表(找出采集蜘蛛)说明书
  4. Echarts地图局部放大及返回实例
  5. 1.centOS7 下载安装教程
  6. HTML实现页面内部跳转
  7. 指纹登录的计算机忘记密码怎么办,win10 忘记本地账户密码 可指纹或pin 等方式登录 找回密码 家庭版 专业版 教程 简单...
  8. MySQL_DQL数据查询语言_刘锋的博客
  9. 2016年日本计算机专业排名,高人能否把US News 2016全球计算机专业排名发出来看看?...
  10. 内存是手游的硬伤——Unity游戏Mono内存管理与泄漏