首页 > 其他分享 >P2024 [NOI2001] 食物链 || #576. 食物链【NOI2001】 (并查集)

P2024 [NOI2001] 食物链 || #576. 食物链【NOI2001】 (并查集)

时间:2023-07-11 10:45:41浏览次数:62  
标签:食物链 P2024 int t4 t2 t1 fa NOI2001 find

空降锣鼓
空降OJ
题解:

#include<bits/stdc++.h>
using namespace std;
int n,k;
int d,x,y;
int ans;
int fa[500050];
int find(int x){//找爸爸
	if(fa[x]==x)	return fa[x];
	return find(fa[x]);
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n*3;i++)//开三个并查集风别表示自己的
		fa[i]=i;//天敌,同类和猎物
	for(int i=1;i<=k;i++){
		cin>>d>>x>>y;
		if(x>n || y>n){//最初判断是否大于n
			ans++;
			continue;
		}
		int t1=find(x);//三个并查集 
		int t2=find(y);
		int t3=find(x+n);
		int t4=find(y+n);
		int t5=find(x+n+n);
		int t6=find(y+n+n);
		if(d==1){
			if(t1==t4 || t2==t3)//互为实物
				ans++;
			else{//合并家族
				fa[t1]=t2;
				fa[t3]=t4;
				fa[t5]=t6;
			}
		}
		if(d==2){
			if(t1==t2 || t1==t4)//ab是同类或者b吃a
				ans++;
			else{//合并家族
				fa[t3]=t2;
				fa[t5]=t4;
				fa[t1]=t6;
			}
		}
	}
	cout<<ans;
	return 0;
}

标签:食物链,P2024,int,t4,t2,t1,fa,NOI2001,find
From: https://www.cnblogs.com/tflsghh/p/17543359.html

相关文章

  • POJ 1182 食物链
    解题思路:并查集经典中的经典题,在网上看了很多大牛的思路,大部分是增加一个结构体存动物间的关系,结合并查集判断,但是关系域的更新比较复杂,一下子不太容易理解。所以就有人另开思路,这里介绍一个十分巧妙的思路。一般我们都会把一个动物当成一个节点,然后去执行并查集等操作。但是有位大......
  • POJ 1182 食物链(种类并查集)
    题目地址:POJ1182一道很经典的种类并查集的题目。利用互相之间的关系来进行权值的维护。代码如下:#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<stdlib.h>#include<math.h>#include<ctype.h>#include<queue>#in......
  • 种类并查集 洛谷 P2024 食物链
    题目描述动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道......
  • poj 1182 食物链(并查集)
    食物链TimeLimit: 1000MS MemoryLimit: 10000KTotalSubmissions: 33156 Accepted: 9626Description动物王国中有三类动物A,B,C,这三类动物的食物链构成......
  • POJ 1182 食物链(并查集)
    Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是......
  • POJ--1182 食物链(并查集)
    记录15:392023-1-26http://poj.org/problem?id=1182reference:《挑战程序设计竞赛(第2版)》2.4.4p88Description动物王国中有三类动物A,B,C,这三类动物的食物链构成......
  • POJ - 1182 食物链
    POJ-1182食物链题解:种族并查集引理:对于普通的并查集,我们总是用来查找和维护每个元素之间的同类关系,而种族并查集总是用来解决一些存在对立关系,而且对象的关系存在传......
  • 洛谷P4017 最大食物链计数(追加上一篇文章的第二种方法 )
    上一篇不是说第二种方法RE了吗?害,其实,是我的问题我粗心了。------------------------------------------------------因为    这两处的循环应该到n而不是m。......
  • P1024 [NOI2001] 食物链【种类并查集】
    题意P1024简化题意:给定\(n\)和\(k(n\leqslant5\times10^4,k\leqslant10^5)\),表示有\(n\)个动物,\(k\)个描述,其中:\(n\)个动物分别属于\(A,B,C\)中的一种,定义......
  • P3183 [HAOI2016]食物链(记忆化搜索 DAG)
    P3183[HAOI2016]食物链题意给出一张n个点m条边的有向无环的食物网,问这其中有多少条极长的食物链。“注意单独的一种孤立生物不算一条食物链。”思路​ 这题可以......