并查集
wxyfennie
这个作者很懒,什么都没留下…
展开
-
HDU3635 Dragon Balls
并查集初级题目 题目链接:点击打开链接 题意: 1、每个城市初始有一个龙珠,father[i] = i初始化数组, 2、每个城市的龙珠可以移动,T A B 包含A龙珠的城市的所有龙珠都转移到包含B龙珠的城市中去 3、Q X,输出X龙珠所在城市、所在城市拥有的龙珠数量、X龙珠被移动过的次数 思路: 简单并查集,但是考虑到路径压缩会造成X龙珠移动次数计算错误(详见百度并查集路径压缩原理)原创 2015-11-08 16:29:00 · 261 阅读 · 0 评论 -
HDU 1856 More is better
题意:1×10^7个男孩,找出互相之间是朋友关系的人数最多的集合的人数,如果N = 0 ,输出1; 值得一提的是,用C++交怎么也是CE(因为数组过大),G++交就是没事 #include #include using namespace std; int father[10000005]; int c[10000005]; void init(int n)//初始化 {原创 2015-11-08 20:17:45 · 330 阅读 · 0 评论 -
再学一次并查集
再学一次并查集,感觉原来学过的太水了, = = 、 自从CCPC国赛被打回原形以后…… 废话不多说,重新系统地学习一下这个数据结构 并查集:本质是一颗树,也就是一种数据结构,主要为了解决的问题就是是不是一个集合的问题,尤其是一些具有传递性质的问题; 三个功能 初始化:把所有结点的father都指向它自身 合 并:把应该在一个集合的点连接到一起 查 找:查找某个点原创 2015-11-07 00:22:10 · 595 阅读 · 0 评论