点击打开链接

Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the better it will be. Of course there are certain requirements.

Mr Wang selected a room big enough to hold the boys. The boy who are not been chosen has to leave the room immediately. There are 10000000 boys in the room numbered from 1 to 10000000 at the very beginning. After Mr Wang's selection any two of them who are still in this room should be friends (direct or indirect), or there is only one boy left. Given all the direct friend-pairs, you should decide the best way.

InputThe first line of the input contains an integer n (0 ≤ n ≤ 100 000) - the number of direct friend-pairs. The following n lines each contains a pair of numbers A and B separated by a single space that suggests A and B are direct friends. (A ≠ B, 1 ≤ A, B ≤ 10000000) OutputThe output in one line contains exactly one integer equals to the maximum number of boys Mr Wang may keep. 
Sample Input

4
1 2
3 4
5 6
1 6
4
1 2
3 4
5 6
7 8

Sample Output

4
2

暴力枚举,中间有一小部分的优化

把连在一起的通过join连接在一起然后通过枚举有都少个孩子节点有相同的父亲

Select Code

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;int par[10000005];
void init(int n)
{for(int i=1; i<=10000005; i++)par[i]=i;
}int find(int x)
{if(par[x]==x)return x;elsereturn par[x]=find(par[x]);
}void join(int x, int y)
{int fx=find(x),fy=find(y);if(fx!=fy){par[fx]=fy;}
}
int main()
{int n;while(~scanf("%d",&n)){        if(n==0)          //特判???? {printf("1\n");continue;} init(n);int maxn=0;for(int i=1; i<=n; i++){int a,b;scanf("%d%d",&a,&b);join(a,b);if(max(a,b)>maxn)            //优化 {maxn=max(a,b) ;}             }int sum=0,ans=0;         for(int j=1; j<=maxn; j++){int ans=0;       if(par[j]==j)for(int i=1; i<=maxn; i++){if(find(i)==j)       //find(i)与par[i]不同?? ans++;}sum=max(sum,ans);                }printf("%d\n",sum);      }return 0;
}

转载于:https://www.cnblogs.com/ruruozhenhao/p/7406507.html

E - More is better (并查集)相关推荐

  1. 并查集c++代码_[Leetcode 每日精选](本周主题-并查集) 547. 朋友圈

    题目难度: 中等 原题链接 今天继续来做并查集的问题, 这道题仍然比较基础, 而且也是个比较接近现实的问题了. 大家在我的公众号"每日精选算法题"中的聊天框中回复 并查集 就能看到 ...

  2. HDU1811 Rank of Tetris 拓扑排序+并查集 OR 差分约束最短路+并查集

    题目链接 题意:就是给你一堆关系,看能不能排出个确定的顺序 做法: 1. 拓扑排序+并查集 应该很容易想到的一种思路,大于小于建立单向边.对于相等的呢,就把他们缩成一个点.就用并查集缩成一个点就行了 ...

  3. HDU 2586 How far away ? LCA ---tanjar+并查集 离线算法

    tanjar算法离线求LCA的思想主要是利用并查集的思想. 求距离的话就是d[start[i]]+end[en[i]]-2*d[lca[i]]; 首先从根节点dfs,在深度遍历的回溯的过程中不断的更新 ...

  4. POJ - 2513 Colored Sticks 欧拉通路+并查集+静态树

    一开始想用map来搞,但是感觉好复杂,然后想了一下看大佬们用trie做的,感觉十分合理就敲了一发. 一开始re,数组要开到550000 只会静态的字典树,在每个根节点看是否出现过改颜色,如果没有就把该 ...

  5. 关于 并查集(union find) 算法基本原理 以及 其 在分布式图场景的应用

    二月的最后一篇水文-想写一些有意思的东西. 文章目录 环检测在图数据结构中的应用 深度/广度优先 检测环 并查集数据结构 (Union-Find) 基本概念 初始化 合并 union 查找祖先 优化1 ...

  6. 【BZOJ1015】【JSOI2008】星球大战 并查集

    题目大意 给你一张\(n\)个点\(m\)条边的无向图,有\(q\)次操作,每次删掉一个点以及和这个点相邻的边,求最开始和每次删完点后的连通块个数. \(q\leq n\leq 400000,m\le ...

  7. 并查集 HDOJ 1232 畅通工程

    题目传送门 1 /* 2 并查集(Union-Find)裸题 3 并查集三个函数:初始化Init,寻找根节点Find,连通Union 4 考察:连通边数问题 5 */ 6 #include <c ...

  8. 1013 Battle Over Cities(并查集解法)

    关于背景的介绍见1013 Battle Over Cities(图的DFS解法) DFS就是不算特定结点后数连通子图的总数,再减一.我想着那么并查集就是数不算特定节点后,集合元素(根)的个数.但是我弄 ...

  9. 并查集专题练习:好朋友(未完待续)

    有空再把题目补上 输入样例1 4 2 1 4 2 3 样例输出1 2 输入样例2 7 5 1 2 2 3 3 1 1 4 5 6 输出样例2 3 解题思路: 1. 这题放在并查集的专题后面,有查找也有 ...

  10. 暑期集训5:并查集 线段树 练习题G: HDU - 1754

    2018学校暑期集训第五天--并查集 线段树 练习题G  --   HDU - 1754 I Hate It 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.  这让 ...

最新文章

  1. 如何打造一支拖业务后腿的技术团队?
  2. C++中const引用和非const引用的使用注意
  3. stm32串口通讯问题
  4. pycharm如何解决新建的文件没有后缀的问题
  5. 链表的中间节点--快慢指针
  6. abb工业机器人电压不稳_ABB工业机器人应用常见故障九问九答
  7. 不要小看它——编码与解码
  8. [USACO16OPEN]262144
  9. 计算机 外存储能直接被cpu处理??,cpu可直接处理外存上的信息吗?_常见问题解析...
  10. 神马?写了3年代码,连分布式缓存都没用过~
  11. 八点建议助您写出优雅的Java代码
  12. 支持多浏览器高拍仪开发控件
  13. jdk版本和java版本一样吗_jdk版本查看,以及java -version 和JAVA_HOME不一致问题
  14. 傲梅分区助手克隆Linux硬盘,傲梅分区助手如何复制磁盘?分区助手克隆磁盘的具体教程...
  15. 产品经理技术脑:怎么看懂接口文档
  16. 打造店铺爆款的玩法方式解析
  17. 计算机专业文科生录取分数线,文科生适合报考的5所学校,录取分数线不高,但就业前景很好...
  18. SQL Server代理服务无法启动的处理方法(转载)
  19. 美国爱情经济学家:找到绩优股就长期持有
  20. 循环卷积的时域DFT性质推导

热门文章

  1. mysql5.7.20中文,ubuntu16.04 mysql5.7.20表中插入中文顯示???的解決方法
  2. 执行计划中的参数解释
  3. springboot+jpa+mysql+redis+swagger整合步骤
  4. jacky解读麻省理工《计算机科学与Python编程导论》第1集
  5. 接口测试之HTTP协议详解
  6. GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD)
  7. 解析stm32的时钟
  8. RocketMQ初步应用架构理论
  9. linux3.0.4编译LDD中的scull全过程
  10. A Star寻路相关资料汇总