poj_1611_并查集 题解记录
来源:互联网 发布:应变数据采集仪 编辑:程序博客网 时间:2024/06/04 19:29
解析:本题本质就是并查集的变形,我的想法是每一组输入时,把最小的数作为全组的父节点,然后用一个set记录下所有数据(剔除重复数),最后再for循环set中的数据,如果该数据的父节点是0,那么就是有被感染的嫌疑。
代码如下:
#include<iostream>#include<vector>#include<algorithm>#include<set>using namespace std;int parent[30001];int find(int* p,int r){while(p[r]!=r)r=p[r];return r;}int main(){int n,m;while(1){cin>>n>>m;if(n==0&&m==0)break;else if(m==0){cout<<n<<endl;}else{set<int> sum;for(int i=0;i<n;i++){parent[i]=i;}for(int i=0;i<m;i++){int zu;int x;int y;cin>>zu>>x;sum.insert(x);for(int j=1;j<zu;j++){cin>>y;sum.insert(y);int a=find(parent,x);int b=find(parent,y);if(a>b){parent[a]=b;}else if(a<b){parent[b]=a;}x=y;}}sum.insert(0);int ans=0;set<int>::iterator it;for(it=sum.begin();it!=sum.end();it++){if(find(parent,*it)==0)ans++;}cout<<ans<<endl;}}return 0;}
阅读全文
0 0
- poj_1611_并查集 题解记录
- 并查集题解
- 并查集系列题解
- 并查集(题解)
- luoguP3367 并查集 题解
- 并查集及例题题解
- 并查集及例题题解
- 【题解】 Luogu P2024 食物链 (并查集)
- 并查集--学习记录
- 【复习记录】并查集
- 并查集算法学习记录
- 【POI】【POI2012】【Tour de Byteotia】【题解】【并查集】
- 【BZOJ】【P3673】【可持久化并查集】【题解】
- HDU 1035 Robot Motion Union Find 并查集题解
- 【BZOJ】【P1529】【POI2005】【ska Piggy banks】【题解】【并查集】
- 【日常学习】【并查集+map】codevs2639 约会计划题解
- POJ 2524 Ubiquitous Religions 详细题解(并查集)
- HDU 1272详细题解(并查集)
- 原生PDF与扫描PDF转换教程
- NKOJ 3540 方块游戏(dp)
- CodeForces 845C Two TVs (模拟)
- 计算机开机BIOS初始化与MBR操作系统引导详解
- 对jquery-gantt的应用
- poj_1611_并查集 题解记录
- kylin安装及配置
- Mybatis --- 映射文件、参数处理、参数值的获取、select元素
- rabbitmq队列模式
- 网页设计排版中哪些元素最重要?
- 【机器学习】Andrew Ng——02单变量线性回归
- Docker Private Registry搭建(三)
- arguments.callee使用
- MyBatis Generator 自动化生成代码工具