poj1703 并查集

poj 1703(并查集) 题意:有n个人和两个阵营,给出两种操作,A a b ,询问a和b的是否在同一个阵营,如果有人未加入任何阵营输入不确定。D a b,让a和b成为不同阵营的。 题解:两种做法。 一种是把并查集扩大一倍,先给每个人一个假定的敌人,然后有D操作时把敌人加入到假定敌人的集合中,A操作判断a和b是否在同一个集合,如果不在判断对方是否在自己假定敌人的集合中,在就是敌人,否则是不确定。#include <std 阅读详情

我真的是太弱了,想得很复杂,最后网上一看,原来这么简单的想法就搞定了……

#include <iostream>
using namespace std;
int f[200001],n,m,x,y,cas;
char c;
int find(int x) {
    if (x!=f[x]) f[x] = find(f[x]);
    return f[x]; 
}
void Union(int x,int y) {
     int px = find(x);
     int py = find(y);
     if (px != py) f[px] = py;
}  
int main() {
    scanf("%d",&cas);
    while (cas--) {
          scanf("%d%d",&n,&m);
          for (int i=1;i<=2*n;i++) f[i] = i;
          for (int i=1;i<=m;i++) {
              scanf("%c%c %d %d",&c,&c,&x,&y);
              if (c=='D') {
                          Union(x,y+n);
                          Union(y,x+n);
              }
              else {
                   if (find(x)==find(y)) printf("In the same gang.\n");
                   else if (find(x)==find(y+n)||find(y)==find(x+n))
                        printf("In different gangs.\n");
                   else printf("Not sure yet.\n");
              }
          }
    }
    return 0;
}


Python小波变换实战:用PyCWT分析气候数据(附完整代码) 本文详细介绍了如何使用Python中的PyCWT库进行小波变换分析,特别针对气候数据(如NINO3海温异常数据)的多尺度周期性特征提取。通过完整的代码示例,从数据预处理、小波参数配置到结果可视化,逐步指导读者掌握小波变换在气候研究中的实际应用。 阅读详情

相关推荐

vivado:差分信号和单端信号 的相互转换 IBUFDS OBUFDS

FPGA能处理的都是单端信号,但有些输入信号是差分的,这时候就需要把差分信号转为单端信号。

qq_52137732的博客 1万+

poj1703(种类并查集)

题目链接:http://poj.org/problem?id=1703 题目: 警方决定捣毁两大犯罪团伙:龙帮和蛇帮,显然一个帮派至少有一人。该城有N个罪犯,编号从1至N(N&lt;=100000。将有M(M&lt;=100000)次操作。 D a b 表示a、b是不同帮派 A a b 询问a、b关系 Input 多组数据。第一行是数据总数 T (1 &lt;= T &lt;= 20)...

行云出岫 660

COMSOL两相流(相场法)

COMSOL是一款功能非常强大的多物理场仿真软件,拥有可视化和后处理工具,可方便有效的展示您的仿真效果,具有灵活、高效、友好的特点,软件能够为用户提供各类工程问题的解决方案,从而帮助广大研究和工程人员能够在科研上取得新突破。 COMSOL可以实现声学、传热、流体力学、结构力学等方面的模拟仿真,具体模块如下图所示。 COMSOL软件设置流程 定义需要求解的问题类型:针对一个需要仿真的问题,需要先对问题进行分析;分析该问题用到哪些物理场,什么样的几何模型,以及如何设置研究等。该步骤可以使用COMSOL中的

weixin_47139559的博客 1万+

POJ 1703 (多集合 并查集)

/* 解决这题的关键在于,维护多种集合的关系;由于给的关系是两对立的,就需要第一个元素的反面是第二个元素的集合, 第二个元素的反面是第一个元素的集合。有利于判断两个元素是同一集合,还是不能判断; 比如,输入1 5 5 A(1,2) ;这时,1的反面是6 ,2的反面是7;他们的集合各不相同,所以不能判断; 再输入D(1,2); 由于我上面定的规矩,1 和 7 同一个集合,2 和 6 在一

julicliy的博客 366

ADB命令解锁Android手机屏幕的3种实用方法(附详细步骤)

本文详细介绍了在Android手机屏幕失灵或密码遗忘时,利用ADB命令解锁屏幕的三种实用方法。包括通过ADB模拟输入事件、移除锁屏认证文件(需Root权限)以及结合恢复模式抢救数据。文章提供了详细的操作步骤与风险提示,强调提前开启USB调试的重要性,是Android用户应对紧急锁屏情况的有效技术指南。

weixin_29229055的博客 919

ArcGIS 10.2 保姆级安装与破解教程(含License Manager启动失败解决方案)

本文提供ArcGIS 10.2中文版的保姆级安装与破解教程,详细讲解从环境检查到License Manager配置的全流程,特别针对License Manager启动失败等常见问题提供专业解决方案,帮助用户顺利完成地理信息系统软件的安装与激活。

weixin_26757925的博客 1181

POJ 1703 Find them, Catch them

这道题与POJ 2492 几乎一模一样,就不多说了,直接上代码吧 1 //#define LOCAL 2 #include <iostream> 3 #include <cstdio> 4 #include <cstring> 5 using namespace std; 6 7 const int maxn = 10...

weixin_30711917的博客 146

获取本机正版windows10激活密钥,以及正版office

本方法面向的是以前买过笔记本电脑给你预装了正版系统,激活了正版office(一般是家庭版)的情况,其他情况请自行尝试。

qq_45774917的博客 2万+

poj1703(并查集维护不同集合关系的方法)

/* translation: 已知所有元素要么属于第一个集合,要么属于第二个集合,给出两种操作。第一种是D a b,表示 a,b两个元素不在一个集合里面。第二种操作是A a b,表示询问a,b两个元素是否在同一个集合 里面。如果不能确定的话打印not sure。否则给出答案。 solution: 并查集。 这道题有点类似poj1182(食物链),两题的关键点都在于如何维护不同集合的关系

林伏案的博客 3180

25、BDS-3卫星信号性能与PPP-B2b增强消息完整性分析

本文对BDS-3卫星信号性能及PPP-B2b增强消息的完整性进行了系统分析。评估了MEO、IGSO和GEO卫星的轨道与时钟精度,得出BDS-3总体SISRE为0.25 m,系统完整性可覆盖99.999%的误差。分析表明SIS中断主要由时钟调整和轨道机动引起,个别卫星存在因境外监测受限导致的非计划中断。通过自研解码软件对PPP-B2b增强消息进行采集与解析,实验结果显示BDS-3和GPS的平均历元完整性率均高于98.55%,其中卫星掩码和时钟校正消息的完整性率超过99.8%。研究还发现IGSO卫星相比MEO卫

quiet的专栏 145

32、生物医学中的多模态拉曼散射成像技术

本文综述了多模态拉曼散射成像技术在生物医学领域的应用,重点探讨其在肿瘤研究、癌症无创诊断和组织功能分析中的前沿进展。通过结合自发拉曼、相干拉曼散射(CARS/SRS)、光学相干断层扫描(OCT)、荧光寿命成像(FLIM)及多光子显微技术(TPEF/SHG)等多种模态,实现了对细胞和组织的高特异性生化信息与高分辨率形态学特征的同步获取。文章还介绍了多模态SERS纳米探针的设计及其在靶向成像与治疗一体化中的潜力,并系统分析了不同成像方式的操作流程、优势互补性及临床应用场景。最后展望了该技术向小型化、智能化和个性

zzz56的博客 153

【种类并查集】 -- poj1703

题目来源: poj 1703 现在做并查集的题目好像越来越有感觉了开心。 思路: #include <iostream> #include <algorithm> #include <cstdio> #include <map> using namespace std; const int maxn = 100010; int n, m; int f...

圣托里尼的日落啊~的博客 222

Qt5+Ros+GUI界面

在之前建立的工程的基础上添加一个gui界面。 在ros包中新建一个文件夹,名字叫gui 右击gui文件夹添加一个文件,选择Qt->Qt设计师界面类 选择MainWindow 选择下一步 最后在gui中生成三个文件 mainwindow.cpp、mainwindow.h、mainwindow.ui 但此时,这些新创建的文件和原本的ros工程还没建立任何关系,只是目录下多出了几个文件而已...

二毛的博客 8845

POJ 1703 Find them, Catch them(种类并查集)

题目地址:POJ 1703 种类并查集水题。 代码如下: #include #include #include #include #include #include #include #include #include #include #include using namespace std; int bin[600000], rank[600000]; int f

scf0920 1281

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

POJ1703 并查集

POJ1703题目大意:警察抓获N个罪犯,这些罪犯只可能属于两个团伙中的一个,现在给出M个条件(D a b表示a和b不在同一团伙), 对于每一个询问(A a b)确定a,b是不是属于同一团伙或者不能确定。 这道题我用了两个并查集,把每个罪犯复制出两个来。一个是原来的,一个对称后的,以判断a b的相对团伙。 同一个集合表示可以有一个罪犯所述团伙推出其他罪犯所属团伙,用于判断是否能确定。 代码:

NEPTUNEl123的博客 484

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【POJ 1703 Find them, Catch them】并查集

题目链接:http://poj.org/problem?id=1703 题目大意: 给定m个操作: D x y:x罪犯和y罪犯不在一个团伙。(总共只有两个团伙) A x y:询问x和y罪犯的关系 解题思路: 很容易想到是并查集,但最后还是让我纠结了良久。一直MLE。 对于每次的D x y操作,每次不仅要找到两个不同集合标志头进行更新,还要更新a数组,即...

baidui8622的博客 89

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

POJ1703Find them, Catch them 【种类并查集】

题目链接:http://poj.org/problem?id=1703 题目大意:给n个人,m次询问。A代表询问a, b之间的关系,D代表给出a, b属于不同的帮派。 我的想法: 太菜了,上课的时候没想到这种方法。 思路: 1.感觉有点像2-sat的思想,对于D给出的a, b两人属于不同帮派。我们就将a于b的对立点用并查集维护在一个集合中,也将b于a的对立点连通。 2.查询时...

a6334167的博客 175

【并查集】模板 + 【HDU 1213、HDU 1232、POJ 2236、POJ 1703】例题详解

不想看模板,想直接看题目的请戳下面目录: 目录: HDU 1213 How Many Tables【传送门】 HDU 1232 畅通工程 【传送门】 POJ 2236 Wireless Network 【传送门】 POJ 1703 Find them, Catch them 【传送门】 先上模板: #define MAXN 根据编号需要 int per[MAXN],rank[MAX...

lesileqin的博客 283

POJ - 1703 Find them, Catch them (并查集)

                  POJ - 1703  Find them, Catch them (并查集)          这道题与食物链那一道题是同一类型的,但稍微简单些,题意就不说了                   比普通的并查集多了一个relation [i]数组,记录与父亲节点的关系,在并查集里的元素都是已经它们之间的关系的,在路径压缩与集合合并时不断的更新relation数...

GYH0730的博客 443

poj 1703 并查集

如题:http://poj.org/problem?id=1703

zht的专栏 525

poj 1703 Find them, Catch them(带偏移量并查集)

poj 1703 Find them, Catch them(带偏移量并查集)

PKU_ZZY的博客 794

【并查集】POJ 1703 Find them, Catch them

POJ 1703 : Find them, Catch them 有两大帮派,现在不知道每个人的帮派情况。有两种操作,D x y 表示x和y在不同帮派,A x y查询x和y的帮派情况。 如果在同一帮派,输出In the same gang. 如果不在同一帮派,输出In different gangs. 不确定帮派情况则输出Not sure yet. 这里是POJ 11...

小酷Miki的专栏 229

poj1703 Find them, Catch them 并查集

poj(1703) Find them, Catch them Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 26992   Accepted: 8188 Description The police office in Tadu City deci

PSQ的专栏 862

算法手记 之 数据结构(并查集详解)(POJ1703)

《ACM/ICPC算法训练教程》读书笔记-这一次补上并查集的部分。将对并查集的思想进行详细阐述,并附上本人AC掉POJ1703的Code。   在一些有N个元素的集合应用问题中,通常会将每个元素构成单元素集合,然后按照一定顺序将同属一组的集合合并,期间要反复查找每一个元素在哪个集合中。这类问题往往看似简单,但是数据量很大,因此容易造成TLE或MLE,也就是空间度和时间度...

disuo8001的博客 175

POJ 1703 Find them, Catch them(路径压缩并查集)

POJ 1703 Find them, Catchthem(路径压缩并查集) 一个城市由N个坏人,他们分别属于两个帮派.且这两个帮派里面最少都有1个人.现在给出如下两种语句: D a b 表示a和b肯定不在一个帮派 A a b 你需要回答a和b的关系. 输入:首先是一个T (1 输出:回答每条A语句. 分析:带路径压缩的并查集: a与其父亲同帮派:v[a]=0 a与其父亲不同帮派

code 1317
上一篇: poj1042 贪心
下一篇: poj3311 状态压缩
琴空
博客等级 码龄16年 48粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值