P2024 [NOI2001] 食物链 || #576. 食物链【NOI2001】 (并查集)
#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 [NOI2001] 食物链 || #576. 食物链【NOI2001】 (并查集)的更多相关文章
- [洛谷P2024/POJ1182]食物链 - 带偏移量的并查集(2)
Description 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形.A 吃 B,B吃 C,C 吃 A. 现有 N 个动物,以 1 - N 编号.每个动物都是 A,B,C 中的 ...
- POJ 1182 食物链 【带权并查集/补集法】
动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种.有人用两种说 ...
- POJ 1182 食物链(带权并查集)
传送门 食物链 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 65579 Accepted: 19336 Descri ...
- 【POJ1182】 食物链 (带权并查集)
Description 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到 ...
- POJ_1182_食物链_[NOI]_(并查集)
描述 http://poj.org/problem?id=1182 共A,B,C三种动物,A吃B,B吃C,C吃A.给出询问 q : t , x , y , 表示: x 与 y 是同类 ( t==1 ...
- POJ 1182 食物链 【带权并查集】
<题目链接> 题目大意: 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我 ...
- 食物链(带权&种类并查集)
食物链 http://poj.org/problem?id=1182 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9326 ...
- POJ 1182 食物链 (拆点并查集)
食物链 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 78601 Accepted: 23422 Description ...
- POJ 1182 食物链 (带权并查集)
食物链 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 78551 Accepted: 23406 Description ...
- POJ:1182 食物链(带权并查集)
http://poj.org/problem?id=1182 Description 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1 ...
随机推荐
- 源代码管理工具——Git
Git是一个开源的分布式版本控制系统,用于管理软件开发中的版本控制和协作.通过Git,开发人员可以记录文件的修改历史.协作开发,以及在多个分支上进行实验性开发.Git已成为现代软件开发中不可或缺的工具 ...
- Tomcat处理http请求之源码分析
本文将从请求获取与包装处理.请求传递给Container.Container处理请求流程,这3部分来讲述一次http穿梭之旅. 1 请求包装处理 tomcat组件Connector在启动的时候会监听端 ...
- ODDO之三 :Odoo 13 开发之创建第一个 Odoo 应用
Odoo 开发通常都需要创建自己的插件模块.本文中我们将通过创建第一个应用来一步步学习如何在 Odoo 中开启和安装这个插件.我们将从基础的开发流学起,即创建和安装新插件,然后在开发迭代中更新代码来进 ...
- rest--framwork 源码学习2
- Spring Boot 3.1中如何整合Spring Security和Keycloak
在今年2月14日的时候,Keycloak 团队宣布他们正在弃用大多数 Keycloak 适配器.其中包括Spring Security和Spring Boot的适配器,这意味着今后Keycloak团队 ...
- 从0搭建Vue3组件库(十三):引入Husky规范git提交
为什么要引入 husky? 虽然我们项目中引入了prettier和eslint对代码格式进行了校验,但是多人开发的时候难免依然会有人提交不符合规范的代码到仓库中,如果我们拉取到这种代码还得慢慢对其进行 ...
- Linux下程序时间消耗监控与统计
良好的计时器可帮助程序开发人员确定程序的性能瓶颈,或对不同算法进行性能比较.但要精确测量程序的运行时间并不容易,因为进程切换.中断.共享的多用户.网络流量.高速缓存访问及转移预测等因素都会对程序计时产 ...
- 9.3 Django框架
Django 是一个非常流行的 Python Web 开发框架,它是完整且强大的,适用于构建大型 Web 应用.在这一章节中,我们将详细介绍 Django 的基本概念.组件和用法.为了便于理解,我们将 ...
- C# 实现 Linux 视频聊天、远程桌面(源码,支持信创国产化环境,银河麒麟,统信UOS)
园子里的有朋友在下载并了解了<C# 实现 Linux 视频会议(源码,支持信创环境,银河麒麟,统信UOS)>中提供的源码后,留言给我说,这个视频会议有点复杂了,代码比较多,看得有些费劲.问 ...
- 新建maven项目的时候idea的一些设置
1.统一字符编码 2.开启注解生效激活 3.选择编译编码格式 4.设置忽略文件