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 ...
随机推荐
- 11-HTTP请求协议
今日知识 1. http 2. Tomcat使用 3. 知识总结 HTTP 1. 概念:Hyper Text Transfer Protocol * 传输协议:定义了,客户端和服务器通信时,发送的数据 ...
- 20200118--python学习第十一天
今日内容 函数小高级 lambda表达式 内置函数 内容回顾 1.函数基本结构 2.参数 形参 基本参数:def func(a1,a2):pass 默认值:def func(a1,a2=123):pa ...
- 获取页面form表单对象的方式
w3c并没有提供标准的这种使用方式,所以各浏览器实现会有差异,还是使用标准的w3c标准,getElement的方式. 记录下,老是忘记 使用documen对象的方法 getElementxxx 方式, ...
- 基于MR实现ngram语言模型
在大数据的今天,世界上任何一台单机都无法处理大数据,无论cpu的计算能力或者内存的容量.必须采用分布式来实现多台单机的资源整合,来进行任务的处理,包括离线的批处理和在线的实时处理. 鉴于上次开会讲了语 ...
- MongoDB oplog 详解
oplog 简介 oplog 是local库下的一个固定集合,Secondary就是通过查看Primary的oplog这个集合来进行复制的.每个节点都有oplog,记录从主节点复制过来的信息,这样每个 ...
- Day4前端学习之路——背景边框列表链接和更复杂的选择器
课程目标 掌握 CSS 稍微复杂的一些选择器,还有背景,边框等一些 CSS 样式属性 主要内容: 背景属性 边框 列表 链接 其他选择器 选择器概览:https://www.w3school.com. ...
- WebSocket协议分析
WebSocket协议分析 1.什么是WebSocket协议 WebScoket协议是基于TCP协议建立的全双工通信,所谓的全双工通信就是双向同时通信. 2.WebSocket协议优点 WebSock ...
- VS2015中使用qt开发客户端,QPluginLoader加载dll为null的解决办法
1,问题重现: 使用vs2015开发一款qt软件,使用了QPluginLoader动态加载插件的方式,调试的时候,发现dll模块没有加载进来,debug发现QPluginLoader的instance ...
- python新手如何编写一个猜数字小游戏
此文章只针对新手,希望大家勿喷,感谢!话不多说先上代码: import random if __name__ == '__main__': yourname = input("你好! 你的名 ...
- [算法] Dijkstra算法(带权有向图 最短路径算法)
一.带权有向图 二.算法原理 1)由于我们的节点是从1-6,所以我们创建的列表或数组都是n+1的长度,index=0的部分不使用,循环范围为1-6(方便计算). 2)循环之前,我们先初始化dis数组和 ...