POJ1703

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

题目似乎并没有什么特别的…类似那道经典的食物链或者关押罪犯,利用并查集的补集去做就好了;唯一要注意的就是本题卡cin,换成scanf和getchar就能过;
利用cin的懒人写法

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int par[200050];
int find(int x)
{
    return par[x]==x?x:par[x]=find(par[x]);
}
bool unite(int x,int y)
{
    x=find(x),y=find(y);
    if(x==y)return false;
    par[x]=y;return true;
}
int main()
{
    int t,n,m,i,j,k;
    cin>>t;
    while(t--){
        cin>>n>>m;for(i=1;i<=2*n;i++)par[i]=i;
        string str;int p,q;
        for(i=1;i<=m;i++){
            cin>>str>>p>>q;
            if(str=="D"){
                unite(p,q+n);unite(p+n,q);
            }
            else{
                if(find(p)==find(q)||find(p+n)==find(q+n))cout<<"In the same gang."<<endl;//这里写成&&也行,下面也是一样,无关大雅
                else if(find(p)==find(q+n)||find(q)==find(p+n))cout<<"In different gangs."<<endl;
                else cout<<"Not sure yet."<<endl;
            }
        }
    }

    return 0;
}

改成scanf以后:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int par[200050];
int find(int x)
{
    return par[x]==x?x:par[x]=find(par[x]);
}
bool unite(int x,int y)
{
    x=find(x),y=find(y);
    if(x==y)return false;
    par[x]=y;return true;
}
int main()
{
    int t,n,m,i,j,k;
    cin>>t;
    while(t--){
        cin>>n>>m;for(i=1;i<=2*n;i++)par[i]=i;
        char c;int p,q;getchar();
        for(i=1;i<=m;i++){
            c=getchar();scanf("%d%d",&p,&q);getchar();
            if(c=='D'){
                unite(p,q+n);unite(p+n,q);
            }
            else{
                if(find(p)==find(q)||find(p+n)==find(q+n))cout<<"In the same gang."<<endl;
                else if(find(p)==find(q+n)||find(q)==find(p+n))cout<<"In different gangs."<<endl;
                else cout<<"Not sure yet."<<endl;
            }
        }
    }

    return 0;
}
poj1703 Find them, Catch them 这是题目: 3:Find them, Catch them 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 The police office in Tadu City decides to say ends to the chaos, as launch actions to root up the TWO gangs in the city, G 阅读详情

相关推荐

poj 1703 罪犯的帮派

并查集基础题目 http://blog.sina.com.cn/s/blog_6635898a0100kco0.html 这里用opp数组表示不在一个帮派的编号(2值)感觉思路比较清晰 #include #include #include #include #include #include #include #include #include #incl

cfzjxz的专栏 885

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

【题解-POJ】1703 Find them, Catch them

WA,还在找BUG😩。

写代码的犄角旮瘩 744

POJ 1703 (多集合 并查集)

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

julicliy的博客 366

用 n8n 提取静态网页内容:从 HTTP Request 到 HTML 节点全解析

本文介绍了如何使用n8n的HTTP Request和HTML节点组合提取静态网页内容。首先通过HTTP Request节点获取网页HTML源码,然后使用HTML节点解析并提取所需数据。关键点包括:1)HTTP Request节点设置URL和GET方法;2)HTML节点配置Source Data为JSON并指定data字段;3)重点掌握Extraction Values参数,特别是CSS选择器(使用.和#定位元素)、Key命名、Return Value类型选择等。文章通过实例演示了标题和正文的提取方法,并提供

muyouking 4565

Unity Sprite Editor切片功能详解:如何快速将一张大图拆分成多个小图(附常见问题解决)

本文详细解析了Unity Sprite Editor的切片功能,指导开发者如何高效地将一张大图拆分为多个独立小图。文章涵盖了自动与手动切片操作步骤、轴心点设置、子精灵命名管理等核心技巧,并针对切片错位、性能优化等常见问题提供了实用解决方案,帮助提升2D游戏资源处理效率。

i0j1k2l3m的博客 646

poj1703(并查集—“食物链”的简化版)

http://poj.org/problem?id=1703(poj1703 点击打开链接)

Acmer_future_victor的博客 504

保姆级教程:用Python+OpenCV实现相移法与格雷码三维重建(从生成条纹到点云生成)

本文详细介绍了使用Python和OpenCV实现相移法与格雷码三维重建的全流程,从条纹生成到点云计算。通过结构光技术,结合相移法和格雷码,实现高精度的三维重建,适用于无纹理物体表面的密集对应点生成。教程包含环境搭建、条纹生成、相位计算、三维点云重建及常见问题排查,适合计算机视觉开发者和研究人员。

weixin_33443333的博客 349

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

Autosar入门_OS_5

os hook函数说明

u012406840的博客 397

Transformer实战——Transformer自编码模型

自编码模型依赖于原始 Transformer 编码器,并且在解决分类问题时非常高效。除了 BERT 外,还有许多流行的自编码模型,在本节中,我们将一些除 BERT 外的自编码模型,这些模型的目标是通过优化预训练过程、增加层数或头数、改善数据质量、设计更好的目标函数等,来在下游任务上取得更好的表现。这些改进大致可以分为两个方面,更好的架构设计选择和预训练控制。

盼小辉丶的博客 9304

poj 1703

http://poj.org/problem?id=1703 rank 用于记录祖先的等级 opp 用于记录敌人。。 1 #include <iostream> 2 #include<cstdio> 3 using namespace std; 4 int f[100005]; 5 int rank[100005],opp[100005...

a18865477815的博客 161

企业第三方应用开发概述_测试第三方应用对接企业_以及如何使用流程_Demo演示---企业微信开发002

那么第三方公司开发了应用,做为服务提供商,如果,一个企业想使用这个应用,我开发的这个应用的话,那么。其实就是给我们的应用,安装一个,使用他的企业,分配一共企业 允许这个企业使用我们的应用的功能,可以看到其实就是多了运营规范,因为,第三方应用,其实就相当于,是第三方公司开发的,程序,首先来看一下。然后再来看,这里我们选择这个公司,其实可以,选择到具体的,部门,或者是。然后我们使用一个企业的管理员账号进行,扫码,来授权,这个应用,可以。其实就是指定,我这个企业中,哪个部门,或者哪些员工,可以使用。

添柴程序猿的专栏 412

【种类并查集】 -- poj1703

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

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

大数据分析工具Power BI(二):Power BI下载安装和模块介绍

首先在Microsoft官方网站上下载PowerBI Desktop,然后进行安装。id=58494点击"Next"后会弹出下载框,进行下载即可,下载好的PowerBI名称为"PBIDesktopSetup_x64.exe",也可以在"资料"中获取安装包,双击安装包即可安装。

Lansonli(蓝深李)的博客 2317

Matlab可调用MODTRAN5封装器之Mod5

MODTRAN 是一个计算地球大气中电磁辐射传输的软件代码。MODTRAN是通过使用具有严格格式的输入文本文件来控制的。这个文件被称为“tape5”,扩展名为.tp5或.ltn。手工创建或编辑这个文件是不方便的。Mod5提供了一组函数来简化MODTRAN用例的处理。这些方法包括将tape5文件格式读取到Mod5类“实例”或“对象”中,更改文件中描述的案例实例,将tape5格式写回文件,在案例上运行MODTRAN并将MODTRAN输出文件中的各种结果读取回Matlab。还有许多绘图方法可用。

qq_19512613的博客 3254

POJ 1703

题目链接:http://poj.org/problem?id=1703 题目大意:两组犯罪团体,抓住N个人,他们属于且唯一属于两组犯罪团体之一。然后,给你M条信息,也分两类。D类信息说明id0和id1是不同组织的,A类信息是询问id0和id1的关系,包括不同组织,相同组织和无法判断。 解题思路:        并查集,但简单并查集思路与该题目不符合。因为简单并查集会告诉你两个目标是相

交流学习实践 570

温度PID控制PLC程序

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

POJ1703 并查集

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

NEPTUNEl123的博客 484

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

poj1703 Find them Catch them

http://www.elijahqi.win/2018/01/12/poj1703-find-them-catch-them/ ‎ Description The police office in Tadu City decides to say ends to the chaos, as launch actions to root up the TWO gangs in the city

Elijahqi 385

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

POJ1703 Find them, Catch them

题目链接:http://poj.org/problem?id=1703 大概思路:题目要确认的有三种结果,所以不能直接找出a的不同集合再与b合并。由于事先并不知道a、b是哪一派别的,所以开一个2*maxn大的数组,分成两个派别:a属于a,a属于a+maxn。每次执行D操作其实就是合并(a,b+maxn)和(a+maxn,b),最后判断a,b是否同一派别,a,b+maxn是否同一派别即可。 TL

sun_apple_123 285

【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

poj 1182,poj 1703,hdu 1829

这一类的题目都是n个东西属于不同的集合,集合中的情况要么同时发生,要么同时不发生。 poj 1182 是书上的题目,有详解 poj 1703 和 hdu 1829 都是只有两个集合 poj 1703 #include <cstdio> const int N = 1e5 * 2 + 10; char s[2]; int n,m,x,y,fa[N],t; int find(int x)...

winhcc的博客 231

【并查集】模板 + 【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
上一篇: 洛谷P1197
下一篇: Aizu2170/AOJ2170
HumveeA6
博客等级 码龄17年 12粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值