「NOI2001」食物链
2024-10-08 08:14:48
传送门
Luogu
解题思路
带权并查集我不会啊
考虑种类并查集(扩展域并查集的一种)。
开三倍空间,一倍维护本身,二倍维护猎物,三倍维护天敌,然后用并查集搞一搞就好了。
细节注意事项
- 咕咕咕
参考代码
#include<bits/stdc++.h>
using namespace std;
const int maxN=100005;
int n,m,ans,fa[maxN*3];
int find(int u){
return fa[u]==u?u:fa[u]=find(fa[u]);
}
int main(){
cin>>n>>m;
for(int i=1;i<=n*3;i++)fa[i]=i;
while(m--){
int opt,u,v;
cin>>opt>>u>>v;
if(u>n||v>n){ans++;continue;}
if(opt==1)
if(find(u+n)==find(v)||find(u)==find(v+n))ans++;
else{
fa[find(u)]=find(v);
fa[find(u+n)]=find(v+n);
fa[find(u+n+n)]=find(v+n+n);
}
else
if(find(u)==find(v)||find(u)==find(v+n))ans++;
else{
fa[find(u+n)]=find(v);
fa[find(u+n+n)]=find(v+n);
fa[find(u)]=find(v+n+n);
}
}
return cout<<ans,0;
}
完结撒花 \(qwq\)
最新文章
- -bash: fork: retry: Resource temporarily unavailable
- SQL Server数据库性能优化之索引篇【转】
- Nginx + CGI/FastCGI + C/Cpp
- Tools - VirtualBox
- SecureCRT使用小技巧
- VS2010--2013使用技巧及使用过程中遇到的问题
- 从零开始学习Linux(ls命令)
- 加强版DVD管理系统
- JAVA之执行cmd命令
- mysql 连接语句
- 【Jenkins】linux下Jenkins集成ant进行编译并发送结果
- C++关键字(static-register-atuo-extern-volatile-const)
- vmware 收缩硬盘大小(compat,shrink,vmware-vdiskmanager)
- T-SQL存储过程
- JAVA GUI学习 - JOptionPane对话框组件学习
- Python的Tkinter去除边框
- java工具类(六)根据经纬度计算距离
- ng-change事件中如何获取$event和如何在子元素事件中阻止调用父级元素事件(阻止事件冒泡)
- Nginx实现负载均衡功能
- (Beta)Let&#39;s-M2后分析报告
热门文章
- 结合Thread Ninja明确与处理异步协程中的异常
- 题解【UVA10054】The Necklace
- 后端——框架——日志框架——logback——《官网》阅读笔记——第一章节
- springboot+jwt
- ACM的探索之Everything is Generated In Equal Probability! 后序补充丫!
- linux 下查看Tomcat的状态,以及开启停止服务命令
- nomon+ pyNmonAnalyzer实现基于python的nmon监控性能数据可视化
- HTML前端入门归纳——布局
- Euler Sums系列(六)
- python字典里面列表排序