poj 2492 A Bug's Life【带权并查集】
就是给一个无向图判是否有奇环
用带权并查集来做,边权1表示连接的两个节点异性,否则同性,在%2意义下进行加法运算即可,最后判相同的时候也要%2,因为可能有负数
#include<iostream>
#include<cstdio>
using namespace std;
const int N=1000005;
int T,n,m,f[N],s[N];
int read()
{
	int r=0,f=1;
	char p=getchar();
	while(p>'9'||p<'0')
	{
		if(p=='-')
			f=-1;
		p=getchar();
	}
	while(p>='0'&&p<='9')
	{
		r=r*10+p-48;
		p=getchar();
	}
	return r*f;
}
int zhao(int x)
{
	if(x==f[x])
		return x;
	int nw=zhao(f[x]);
	s[x]=(s[f[x]]+s[x])%2;
	return f[x]=nw;
}
int main()
{
	T=read();
	for(int cas=1;cas<=T;cas++)
	{
		n=read(),m=read();
		for(int i=1;i<=n;i++)
			f[i]=i,s[i]=0;
		bool ok=1;
		while(m--)
		{
			int x=read(),y=read(),fx=zhao(x),fy=zhao(y);
			if(fx!=fy)
			{
				f[fy]=fx;
				s[fy]=(s[y]-s[x]+1)%2;
			}
			else if((s[y]-s[x])%2==0)
				ok=0;
			// for(int i=1;i<=n;i++)
				// cerr<<f[i]<<" ";
			// cerr<<endl;
		}
		printf("Scenario #%d:\n",cas);
        if(ok)
			printf("No suspicious bugs found!\n\n");
        else
			printf("Suspicious bugs found!\n\n");
	}
	return 0;
}
												
											poj 2492 A Bug's Life【带权并查集】的更多相关文章
- POJ 2492 A Bug's Life 带权并查集
		
题意: 思路: mod2 意义下的带权并查集 如果两只虫子是异性恋,它们的距离应该是1. 如果两只虫子相恋且距离为零,则它们是同性恋. (出题人好猥琐啊) 注意: 不能输入一半就break出来.... ...
 - POJ 2492 A Bug's Life (带权并查集 && 向量偏移)
		
题意 : 给你 n 只虫且性别只有公母, 接下来给出 m 个关系, 这 m 个关系中都是代表这两只虫能够交配, 就是默认异性, 问你在给出的关系中有没有与异性交配这一事实相反的, 即同性之间给出了交配 ...
 - 【POJ 1984】Navigation Nightmare(带权并查集)
		
Navigation Nightmare Description Farmer John's pastoral neighborhood has N farms (2 <= N <= 40 ...
 - POJ 1984 Navigation Nightmare 【经典带权并查集】
		
任意门:http://poj.org/problem?id=1984 Navigation Nightmare Time Limit: 2000MS Memory Limit: 30000K To ...
 - [poj 2912] Rochambeau 解题报告 (带权并查集)
		
题目链接:http://poj.org/problem?id=2912 题目: 题目大意: n个人进行m轮剪刀石头布游戏(0<n<=500,0<=m<=2000) 接下来m行形 ...
 - POJ2492 A Bug's Life 带权并查集
		
分析:所谓带权并查集,就是比朴素的并查集多了一个数组,记录一些东西,例如到根的距离,或者和根的关系等 这个题,权数组为relation 代表的关系 1 和父节点不同性别,0,和父节点同性别 并查集一 ...
 - poj 1733 Parity game【hash+带权并查集】
		
hash一下然后用带权并查集做模2下的前缀和 #include<iostream> #include<cstdio> #include<map> #include& ...
 - 【poj 1182】食物链(图论--带权并查集)
		
题意:有3种动物A.B.C,形成一个"A吃B, B吃C,C吃A "的食物链.有一个人对N只这3类的动物有M种说法:第一种说法是"1 X Y",表示X和Y是同类. ...
 - 【POJ 1988】 Cube Stacking (带权并查集)
		
Cube Stacking Description Farmer John and Betsy are playing a game with N (1 <= N <= 30,000)id ...
 - poj2492A Bug's Life——带权并查集
		
题目:http://poj.org/problem?id=2492 所有元素加入同一个并查集中,通过其偏移量%2将其分类为同性与异性,据此判断事件. 代码如下: #include<iostrea ...
 
随机推荐
- hdu 5338 ZZX and Permutations (贪心+线段树+二分)
			
ZZX and Permutations Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/O ...
 - ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml)  用javascript在客户端删除某一个cookie键值对  input点击链接另一个页面,各种操作。  C# 往线程里传参数的方法总结  TCP/IP 协议  用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图  (转)值得学习百度开源70+项目
			
ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 我们都知道在使用WebApi的时候Controller会自动将Action的返回值自动进行各种序列化处理(序列化为 ...
 - Cocos2d-x  Vector——vector iterators incompatible
			
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
 - Wordpress播客网站搭建
 - REST  RPC   HTTP vs 高性能二进制协议 序列化和通信协议
			
edisonchou https://mp.weixin.qq.com/s/-XZXqXawR-NxJMPCeiNsmg .NET Core微服务之服务间的调用方式(REST and RPC) Edi ...
 - (28)java web的hibernate使用
			
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自 ...
 - 关于ie6 下背景图片不透明以及Img不透明
			
ie6 下背景图片不透明的方法,加上下面的js即可解决 //解决IE6下图片不透明 function correctPNG() // correctly handle PNG transparency ...
 - 更改scroll样式
			
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 2px; height: 80%; background: #fff; } /*定 ...
 - access函数的使用检查文件的权限【学习笔记】
			
#include "apue.h" #include <fcntl.h> int main(int argc,char **argv) { ) err_quit(&qu ...
 - 字符串查找函数(BF)
			
//模拟字符串定位函数 // s: abcbbghi // t: ghi // 返回6 #include <iostream> #include <string> #inclu ...