A Bug's Life____并查集
English preparation:
falsify 伪造;篡改;歪曲;证明...虚假
the sexual behavior of a rare species of bugs. 一种稀有昆虫的性行为。
the number of scenarios 场景数量
consecutively 连续地
趣语:
这个时代,是个雷人的时代。凤姐的出现,让我们对自己的审美观产生了怀疑;
著姐的降临,使我们对自己的性取向做出了更正。而如今,bug们被同性恋了,这直接就是商人们为了扩大HS产业的炒作。
哪一天,也许你也被变态了,被脑残了。。。
题目大意:给出n条虫子,m个配对(男<->女)的情况,问数据有没有错误(出现同性配对)?
Reference:
1.https://blog.csdn.net/freezhanacmore/article/details/8799495
2.https://www.cnblogs.com/dongsheng/archive/2012/08/08/2627917.html
3.https://blog.csdn.net/pku_Coder/article/details/53520171
codes:
#include<cstdio>
#include<iostream>
const int maxn=+;
int p[maxn]; //记录父节点
int r[maxn]; //记录与父节点关系, 0 同类, 1异类 int find(int x)
{
if(x==p[x]) return x; int t=p[x];
p[x]=find(p[x]);
r[x]=(r[x]+r[t])%; //每次回溯更新一次父节点,相应更新关系
return p[x];
} void Union(int x,int y)
{
int fx=find(x);
int fy=find(y); p[fx]=fy; //任意
r[fx]=(r[x]++r[y])%; //r[]没有方向.我就是这一步的关系,这一个式子,这一处关节没有搞明白!
}
void set(int n)
{
for(int i=;i<=n;i++)
{
p[i]=i;
r[i]=;
}
} int main()
{
int T;
scanf("%d",&T);
for(int i=;i<=T;i++)
{
int n,m;
scanf("%d%d",&n,&m);
set(n);
int x,y;
bool flag=true;
while(m--)
{
scanf("%d%d",&x,&y); //本应不同类
if(find(x)==find(y))
{
if(r[x]==r[y]) //如果同类
{
flag=false;
continue;
}
}
else Union(x,y);
}
printf("Scenario #%d:\n",i);
if(flag) printf("No suspicious bugs found!\n");
else printf("Suspicious bugs found!\n");
printf("\n");
}
return ;
}
A Bug's Life____并查集的更多相关文章
- hdu 1829 A Bug's Life(并查集)
A Bu ...
- J - A Bug's Life 并查集
Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes ...
- nyoj 209 + poj 2492 A Bug's Life (并查集)
A Bug's Life 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 Background Professor Hopper is researching th ...
- poj 2492A Bug's Life(并查集)
/* 目大意:输入一个数t,表示测试组数.然后每组第一行两个数字n,m,n表示有n只昆虫,编号从1—n,m表示下面要输入m行交配情况,每行两个整数,表示这两个编号的昆虫为异性,要交配. 要求统计交配过 ...
- hdu - 1829 A Bug's Life (并查集)&&poj - 2492 A Bug's Life && poj 1703 Find them, Catch them
http://acm.hdu.edu.cn/showproblem.php?pid=1829 http://poj.org/problem?id=2492 臭虫有两种性别,并且只有异性相吸,给定n条臭 ...
- POJ 2492 A Bug's Life 并查集的应用
题意:有n只虫子,每次给出一对互为异性的虫子的编号,输出是否存在冲突. 思路:用并查集,每次输入一对虫子后就先判定一下.如果两者父亲相同,则说明关系已确定,再看性别是否相同,如果相同则有冲突.否则就将 ...
- poj2492_A Bug's Life_并查集
A Bug's Life Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 34947 Accepted: 11459 D ...
- [poj2492]A Bug's Life(并查集+补集)
A Bug's Life Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 34678 Accepted: 11339 D ...
- POJ 2492 A Bug's Life (并查集)
A Bug's Life Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 30130 Accepted: 9869 De ...
随机推荐
- 使用chrome控制台调试js代码
1.打开控制台(空白页签即可) 2.将控制台在独立页打开(点击控制台右上角的三个点图标,然后点击如下图中的图标) 3.创建脚本编辑页面 4.页面区域说明 5.花键+回车之行代码 6.常用命令介绍 6. ...
- python 中列表 元组 字典 集合的区别
先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...
- sparc v8 stack frame calling convention
main.c ; int main() { int a, b; int sum; a = ; b = ; sum = add(a, b); ; } int add(int a, int b) { in ...
- Shell脚本 统计店中店导出数据
有一个数据文件 yue.csv 是这样的 #head yue.csv 日期,商家名称,要求在线数,当天在线数,要求在线时长,在线时长达标数, ……"2017-12-31&quo ...
- awk sed 命令
awk awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大. 简单来说awk就是把文件逐行的读入,以 空格或TAB 为默认分隔符 将每行 ...
- 【算法总结】图论/dp-动态规划 大总结
写于一只蹲在角落的蒟蒻-Z__X... 2020.2.7,图论和 \(dp\) 终于告一段落.蓦然回首,好似已走过许多...不曾细细品味,太多太多又绵延不断地向我涌来... 谨以此纪念 逝去 的图论和 ...
- 10个用于C#.NET开发的基本调试工具
在调试软件时,工具非常重要.获取正确的工具,然后再调试时提起正确的信息.根据获取的正确的错误信息,可以找到问题的根源所在.找到问题根源所在,你就能够解决该错误了. 你将看到我认为最基本的解决在C# . ...
- struts2动态调用+Servlet过滤器+struts2拦截器
周末真的是懒到心慌...... 本文是在完整s2sh项目基础上添加的,不太了解s2sh项目构建的朋友可以先参考一下这几篇文章: eclipse环境下基于tomcat-7.0.82构建struts2项目 ...
- Spring(七)核心容器 - 钩子接口
目录 前言 1.Aware 系列接口 2.InitializingBean 3.BeanPostProcessor 4.BeanFactoryPostProcessor 5.ImportSelecto ...
- Java自学-多线程 启动一个线程
Java 创建一个线程的三种方式 多线程即在同一时间,可以做多件事情. 创建多线程有3种方式,分别是继承线程类,实现Runnable接口,匿名类 步骤 1 : 线程概念 首先要理解进程(Process ...