题意:
检验给出条件是否有同性恋。
思路:
条件并查集。
还是一个类似的前缀和,sum[x]是x到根这段路径上的和,根一定是坐标越小的,
那么如果说对于同类(同一个集合)的判断就sum[a]是否等于sum[b]
对于不同类的话,就是他们的关系取反。

考虑状态压缩中,关系就是叠加。
一直wa,wa在Find以后是判断各自的关系。

#include<bits/stdc++.h>
using namespace std;const int N=2e3+10;
int pre[N],n,sum[N],m;
bool flag;int Find(int x)
{if(pre[x]==x)return x;int temp=pre[x];pre[x]=Find(temp);sum[x]=(sum[x]+sum[temp])%2;return pre[x];
}void Merge(int x,int y)
{int xx=Find(x);int yy=Find(y);if(xx==yy){if(sum[x]==sum[y])flag=false;}else{pre[xx]=yy;sum[xx]=(sum[y]+sum[x]+1)%2;    //父子之间不是同性恋;}
}int main()
{int T,cas=1;scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);for(int i=0;i<=n;i++){pre[i]=i;sum[i]=0;}flag=true;while(m--){int x,y;scanf("%d%d",&x,&y);if(!flag) continue;Merge(x,y);}printf("Scenario #%d:\n",cas++);if(flag)puts("No suspicious bugs found!");elseputs("Suspicious bugs found!");puts("");}return 0;
}

转载于:https://www.cnblogs.com/keyboarder-zsq/p/6777445.html

HDU1829【种类并查集】相关推荐

  1. Poj(1703),种类并查集

    题目链接:http://poj.org/problem?id=1703 已经不是第一次接触种类并查集了,直到今天才搞懂. 感谢红黑联盟,感谢杰哥!!! 每个节点只要关系确定,不管是不是同一个集合里面, ...

  2. BZOJ 1370: [Baltic2003]Gang团伙 [并查集 拆点 | 种类并查集WA]

    题意: 朋友的朋友是朋友,敌人的敌人是朋友:朋友形成团伙,求最多有多少团伙 种类并查集WA了一节课,原因是,只有那两种关系才成立,诸如朋友的敌人是朋友之类的都不成立! 所以拆点做吧 #include ...

  3. poj 1703(种类并查集)

    题目大意:在这个城市里有两个黑帮团伙,现在给出N个人,问任意两个人他们是否在同一个团伙 输入D x y代表x于y不在一个团伙里 输入A x y要输出x与y是否在同一团伙或者不确定他们在同一个团伙里 解 ...

  4. Find them, Catch them POJ - 1703(种类并查集)

    题意: 在这个城市里有两个黑帮团伙,现在给出N个人,问任意两个人他们是否在同一个团伙 1.输入D x y代表x于y不在一个团伙里 2.输入A x y要输出x与y是否在同一团伙或者不确定他们在同一个团伙 ...

  5. 2016陕西省ACM 热身体B 种类并查集

    Energy 发布时间: 2017年3月27日 11:31   最后更新: 2017年3月27日 18:30   时间限制: 1000ms   内存限制: 256M 描述 人类准备发射载人飞船前往火星 ...

  6. Mahmoud and a Dictionary CodeForces - 766D 种类并查集

    题意 给出多个字符串 然后再输入多个字符串之间的关系 让我们判断这其中是否存在矛盾的关系 有矛盾输出NO 没矛盾输出 YES 然后再输入多个询问 每个询问 两个字符串 让我们判断其中的关系 同义词输出 ...

  7. POJ 1703 Find them, Catch them 种类并查集

    题意 给出一堆点和关系 D为两点不同集合 A为查询两点是否不同集合 n<=1e5 code #include<cstdio> #include<iostream> #in ...

  8. 【POJ - 1703】Find them, Catch them(带权并查集之--种类并查集 权为与父节点关系)

    题干: Find them, Catch them Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 36176   Accep ...

  9. POJ1182 食物链---(经典种类并查集)

    题目链接:http://poj.org/problem?id=1182 食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: ...

  10. 种类并查集(POJ1703)

    图学的有点自闭,再加上用到了并查集.模拟栈.搜索,先补一下这些相对基础的东西 跟普通并查集区别: 1.数组开两倍 2.union_set(a+n,b)和union_set(a,b+n); 3.判断: ...

最新文章

  1. _捷豹F-pace汽车音响改装黄金声学,中道隔音——哈尔滨小蒋
  2. CSS解决高度自适应问题
  3. GDCM:gdcm::SwapperDoOp的测试程序
  4. python3怎样交换数字顺序_python中怎么交换列的顺序
  5. 谈谈IP和MAC捆绑的破解之道
  6. 物联网学习之路——物联网通信技术:NBIoT
  7. Redis 发布订阅,小功能大用处,真没那么废材!
  8. 牛刀小试:使用Reactive Extensions(Rx),对短时间内多次发生的事件限流
  9. android布局添加布局,Android中添加布局和初始化布局总结
  10. 基于物品的协同过滤推荐算法——读“Item-Based Collaborative Filtering Recommendation Algorithms”
  11. mysql 多级主从_mysql主从复制-二级主从
  12. 李沐动手学深度学习V2-语义分割和Pascal VOC2012数据集加载代码实现
  13. python opencv去图片水印(图片底色为白色)
  14. SASS的安装及简单操作
  15. 浅谈android应用之编程语言
  16. 【转载】公主和士兵的故事
  17. 周星驰vs韩寒vs宁浩…Python告诉你春节该看哪部电影
  18. Balsamiq Mockups 便携版
  19. PS照片美化处理实例教程
  20. 码元速率与进制数无关

热门文章

  1. clarity, texture and sharpening
  2. pytorch dropout代码解读
  3. OpenCv平滑与模糊
  4. python最优调配问题_Python实现的基于优先等级分配糖果问题算法示例
  5. 2数据库表空间容量查询_Zabbix监控达梦数据库表空间
  6. python监听键盘输入 linux_Linux下使用Python捕获键盘输入
  7. 环信php创建群组,【PHP】接入环信创建群组和IM用户
  8. Eclipse用法和技巧十五:自动添加未实现方法1
  9. prestashop后台如何删除订单
  10. VoLTE技术中的会话持续性-eSRVCC