传送门

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\)

最新文章

  1. -bash: fork: retry: Resource temporarily unavailable
  2. SQL Server数据库性能优化之索引篇【转】
  3. Nginx + CGI/FastCGI + C/Cpp
  4. Tools - VirtualBox
  5. SecureCRT使用小技巧
  6. VS2010--2013使用技巧及使用过程中遇到的问题
  7. 从零开始学习Linux(ls命令)
  8. 加强版DVD管理系统
  9. JAVA之执行cmd命令
  10. mysql 连接语句
  11. 【Jenkins】linux下Jenkins集成ant进行编译并发送结果
  12. C++关键字(static-register-atuo-extern-volatile-const)
  13. vmware 收缩硬盘大小(compat,shrink,vmware-vdiskmanager)
  14. T-SQL存储过程
  15. JAVA GUI学习 - JOptionPane对话框组件学习
  16. Python的Tkinter去除边框
  17. java工具类(六)根据经纬度计算距离
  18. ng-change事件中如何获取$event和如何在子元素事件中阻止调用父级元素事件(阻止事件冒泡)
  19. Nginx实现负载均衡功能
  20. (Beta)Let&#39;s-M2后分析报告

热门文章

  1. 结合Thread Ninja明确与处理异步协程中的异常
  2. 题解【UVA10054】The Necklace
  3. 后端——框架——日志框架——logback——《官网》阅读笔记——第一章节
  4. springboot+jwt
  5. ACM的探索之Everything is Generated In Equal Probability! 后序补充丫!
  6. linux 下查看Tomcat的状态,以及开启停止服务命令
  7. nomon+ pyNmonAnalyzer实现基于python的nmon监控性能数据可视化
  8. HTML前端入门归纳——布局
  9. Euler Sums系列(六)
  10. python字典里面列表排序