http://210.34.193.66:8080/vj/Contest.jsp?cid=162#P7

思路:用并查集合并集合,最后遍历,找到集合的根的个数。

并查集是森林,森林中的每一颗树是一个集合。我们用一个数组,数组的下标是元素的值。数组存放着其父节点的位置。这样我们就能用数组画出多颗树。

也就是并查集。

初始化并查集,n含义如题。

在并查集中查找数值为x的根节点。根节点的父节点就是本身,当不是跟节点是,继续找。

并查集路径压缩(优化)。在获得了跟节点后,把查找过程中遇到的节点比属于同一集合,让他们的父节点之间改为跟,提高之后查找的效率

另外附上另一种递归,一行写完的找根+路径压缩

集合合并,把x,y所在的集合合并,将其中一个集合的根节点连在另一个根节点上。

最后遍历获得答案ans

最新文章

  1. 在其它路径新建cocos2d-x项目
  2. cloudstack的ZONE删除不掉?来这招吧
  3. windows bat命令编写大全
  4. ViewData ViewBag ViewModel
  5. 基于 HTML5 WebGL 的 3D 仪表数据监控
  6. 《高级软件测试》JIRA使用手册(二)JIRA安装
  7. [Swift]LeetCode609. 在系统中查找重复文件 | Find Duplicate File in System
  8. Groovy 设计模式 -- 享元模式
  9. TypeScript安装备忘:npm proxy设置
  10. 2522 和为K的倍数
  11. C#编程の泛型编程
  12. JSP(4)—Cookie创建及简单案例(自动登录)
  13. 解决IIS8中 URLRewriter 不能使用的方法
  14. Oracle数据库select语句
  15. ML: 聚类算法R包-层次聚类
  16. unity3D iTween的使用
  17. Windows server 2012 R2 与 Windows 2016 的双系统重启选项
  18. Android开发之模仿UC浏览器的菜单
  19. 第二百六十九节,Tornado框架-Session登录判断
  20. 第1天:jQuery效果

热门文章

  1. Spring(六):Spring&Struts2&Hibernate搭建的blog项目
  2. 竞赛基础篇---部分和问题(DFS)
  3. Chrome浏览器vue-devtools插件安装教程
  4. Scrollbar
  5. Redis Cluster 4.0 on CentOS 6.9 搭建
  6. thinkjs升级到3.0后的图片上传
  7. [SDOI 2015]约数个数和
  8. ●SPOJ 7258 Lexicographical Substring Search
  9. ●BZOJ 2820 YY的GCD
  10. 【NOIP模拟赛】总结