![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
小悟空
这个作者很懒,什么都没留下…
展开
-
划分树
划分树是数据结构中的一种,作用就是快速查找给定区间的第k小值,时间复杂度:建树O(nlogn)、查询O(n)。划分树应该是类似于线段树的,或者说,就是线段树的原理。 至于如何处理,可以看胡浩博客给的代码,胡浩的博客地址是:http://www.notonlysuccess.com/index.php/divide-tree/最近喜欢上胡浩的博客了,什么都上上边找,原创 2012-08-02 17:05:34 · 1150 阅读 · 0 评论 -
Little Elephant and Array 线段树
题目 前几篇文章中出现了“靠”等字眼,一次偶然的机会百度到了一篇转载自我的文章,转载者将问中的包含“情绪”的语句全部删掉了,我这才注意到,最近我变得很容易情绪不好!!我错了,我想起了高中一老师说的“心静如水,激情似火”!看来我需要修炼的东西还很多啊…… 题目大意:给定10^5的一个数组,(10^5次)查询给定区间中出现次数和这个数的值相同的数的个数例如:原创 2012-09-04 20:10:34 · 788 阅读 · 0 评论 -
codeforces 220c Little Elephant and Shifts
很少遇到经典的题目,这个不算经典但是却也非常精彩。题目题目大意:给定两个两个1-n的排列,定义两个排列的距离为:所有相同数字之间距离的最小值,More formally, it's such minimum|i - j|, that ai = bj.定义Acyclic shift number i (1 ≤ i ≤ n) of permutationb consis原创 2012-09-05 11:38:19 · 1220 阅读 · 0 评论 -
2012金华邀请赛 Problem D. Garden 线段树题目
又是一个线段树问题,做了那么多的线段树,遇到这个题,还真是好难为我啊,看了好久都没看出来怎么做!看了很久思维只局限在单点更新上,怎么想都是死胡同,直到,突然闪电击中了大脑,然后,然后,原来这个题是区间更新,(#‵′)靠。具体的思路是:每个点和其后面的k个点的和算作一个点,然后,更新的时候,更新影响到的点,查询的时候,查询需查询区间的多有相应的点的最值即可!这个题的关键是区间更新,一个点原创 2012-08-21 20:47:40 · 1753 阅读 · 0 评论 -
线段树 矩形并周长 picture
线段树 我还是首推胡浩大牛的博客http://www.notonlysuccess.com/线段树中扫描线一直是我比较吃力的一种题。矩形面积并,周长并,特别是周长并,一直无法解决,想不明白,现在终于做出来一个周长并的题目了, 是不是我的线段树水平又有了一点提高呢?代码不长,写起来老麻烦了!周长并与面积并不同的是,周长并需要记录竖着的边的情况。也就是说,需要记录边的合并问题,代码中分别使原创 2012-08-01 10:07:47 · 1948 阅读 · 0 评论 -
灵活而神奇的 伸展树!
首先推荐一篇文章,http://www.notonlysuccess.com/index.php/splay-tree/ 这个是胡浩大牛的文章,推荐原因很简单!第一,上面有很多经典论文,第二,有很多经典题目。故推荐 胡浩的文章中提到的那几篇论文中已经将伸展树将的非常清楚了!我说说我的感受,伸展树是一种非常灵活的数据结构,原因就是,伸展树可以将你想要的点转移到任意一个地方,这样的话,添加、原创 2012-08-01 09:41:21 · 1310 阅读 · 0 评论 -
k-d树学习
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4347k-d树在acm界好像不是很常见的样子,至于到底会不会考到我也不清楚,我遇到的题目有两个,第一个是今年长春邀请赛的时候的D题,题解是这么说的D:(Fire Station Problem),7,本意为KD tree 过,但是由于坐标比较小实际上部分队伍水过没找到当时的网址,抱歉。还有一原创 2012-08-11 11:56:52 · 3377 阅读 · 0 评论 -
HDU 3038 How Many Answers Are Wrong
题目大意:有n次询问,给出a到b区间的总和,问这n次给出的总和中有几次是和前面已近给出的是矛盾的??做了好长时间了,现在整理一下首先说明的是,这个是并查集的一种应用,刚开始的时候我还以为是线段树之类的东西呢。但是苦思无解,最后还是看了解题报告,原来是并查集,看完解题报告,我发现,有一组数据我一直想不明白,10 31 2 23 4 22 4 100呵呵,我傻了,我以为1到原创 2012-03-22 09:53:40 · 4247 阅读 · 0 评论 -
hdu 3698 Let the light guide us【线段树+dp】 2010 Asia Fuzhou Regional Contest
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=3698如果不考虑数据规模的话,这个题用dp是可以解决的,应该不难理解,但是这个题的数据很大然后的工作就是怎样优化的问题了线段树优化,我第一次遇到这种题,但是理解起来不是太难我在做的时候,线段树的延迟标记没有弄好,超时了好几次只说一点:题目中的要求 |j-k|≤f(i,j)+f原创 2011-11-28 18:39:32 · 1148 阅读 · 0 评论 -
hdu_2473 Junk-Mail Filter 并查集
hdu_2473 Junk-Mail Filter 并查集 这个题是一个比较不错的并查集,这也让我知道了,并查集,并非只有并和查得功能,而且,还可以删除点!!原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=2473具体的解题思路是:正常的并查集,删除节点时 是用一个数组index[]将其设置为一个新的数组,也就是删除节点相当于重新定原创 2011-10-02 11:15:07 · 821 阅读 · 3 评论 -
zoj 3209 Treasure Map 跳舞链好题
原题连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3209这个题我想到了用跳舞链,但是我想跳舞链的原理就是搜索,能有多高的效率呢?这个题的数据规模是有500 *30 * 30的,我不知道跳舞链的时间复杂度,随意我犹豫了,但是还是用跳舞链敲了一边,没想到1A,重要的是,以前我一次也没有a掉过一个跳舞链,虽然有模板原创 2011-11-05 18:41:43 · 2130 阅读 · 2 评论 -
zoj 3659 Conquer a New Region【并查集】【2012长春现场赛】
最近好多题目都是树型结构,我最开始想到的是树型dp,但是完全没有思路,结题报告给的是并查集,看着解题报告想了好久,才看懂什么意思。按边排序,从大到小插入,每条边将两个集合连起来,而新加的边是两个集合所有边最小的,那么两个集合中的点交叉的通路最小的边就是新加的,那只要枚举两个集合,a,b是a并入b更优还是b并入a更优就行了。集合内部点已经计算出,相互的只要知道集合中元素的个数就好了。原创 2012-10-17 10:02:00 · 864 阅读 · 0 评论