数据结构--SplayTree
饶齐
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ 3468 A Simple Problemwith Integers(SplayTree)
POJ 3468 A Simple Problemwith Integers(SplayTree) http://poj.org/problem?id=3468 题意:给你一个数列,要求你完成区间更新,区间求和的操作. 分析:本题之前用线段树做过一次.现在用SplayTree结构再做一次. SplayTree的每个节点维护add,sum,key信息,分别表示以该节点为根节点的整棵树的增加值原创 2014-04-25 15:12:30 · 790 阅读 · 0 评论 -
HDU 4453 Looploop(SplayTree)
HDU 4453 Looploop(SplayTree) http://acm.hdu.edu.cn/showproblem.php?pid=4453 分析: add x 操作:从队首开始的的连续k2个数都加上x值. reverse 操作: 从队首开始的连续k1个数都翻转 insert x 操作:在第一个元素与第二个元素之间插入一个x值 delete 操作: 删除队首的元素 move原创 2014-04-28 15:11:34 · 836 阅读 · 0 评论 -
HDU 3487 Play with Chain(SplayTree)
HDU 3487 Play with Chain(SplayTree) http://acm.hdu.edu.cn/showproblem.php?pid=3487 分析:1到N的序列支持两种操作: CUT a b c 将区间[a,b]的数删除,并接到新数列的第c个数后面 FLIP a b 将区间[a,b]的数翻转顺序 SplayTree基本操作. AC代码: #include原创 2014-04-27 19:44:55 · 798 阅读 · 0 评论 -
[AHOI2006]editor (SplayTree)
[AHOI2006]editor (SplayTree) 分析:都是基本的SplayTree操作,可以根据前一道题的代码构建这道题的函数. * 六种操作 * Move k : 将光标移到到第k个字符之后,k=0则移到到最前面 * Insert nS :在光标后插入长度为n的字符串S * Delete n :删除光标后的n个字符 * Rotate n:反转光标后的n个字符原创 2014-04-27 18:26:30 · 747 阅读 · 0 评论 -
HDU 3436 Queue-jumpers(SplayTree+离散化)
HDU 3436 Queue-jumpers(SplayTree+离散化) http://acm.hdu.edu.cn/showproblem.php?pid=3436 题意:初始排列1到N,现在要你实现3种操作:将x插入换到队头去, 询问x当前的位置,已经询问第x个位置上当前是谁. 分析: 下面用SplayTree来实现.不过依然要明白SplayTree提供的是N个房间,第i号房间里放原创 2014-04-27 01:10:33 · 983 阅读 · 0 评论 -
[NOI2005]维修数列(SplayTree)
[NOI2005]维修数列(SplayTree) http://www.cnblogs.com/kuangbin/archive/2013/04/21/3034081.html 分析: 本题看起来复杂,其实和之前做的SplayTree基本一样就是多了个维护最大连续和的.最大连续和维护需要最大前缀和lx和最大后缀和rx.(与之前的线段树维护最大连续和基本一样) 具体实现看代码. 注意:se原创 2014-04-28 00:09:18 · 951 阅读 · 0 评论 -
POJ 3580 SuperMemo(SplayTree)
POJ 3580 SuperMemo(SplayTree) http://poj.org/problem?id=3580 题意:要求你维护一个数列,完成下面6种操作,区间加,区间翻转,区间循环移位,插入,删除,区间求最小值. 分析: 除了循环移位外,其他都是SplayTree的基本操作,现在来考虑循环移位.区间[l,r]循环右移T(T=T%(r-l+1) )位,等于把区间[l,r-T]和区原创 2014-04-27 16:00:31 · 864 阅读 · 0 评论 -
HDU 1890 Robotic Sort(SplayTree)
HDU 1890 Robotic Sort(SplayTree) http://acm.hdu.edu.cn/showproblem.php?pid=1890 题意:给你N个数,要你执行一系列(题目要求的)翻转操作,使得这N个数按升序排列.要你输出翻转的区间右端点.而且还需要稳定的排序方式. 分析: 假设一棵SplayTree树有n个房间.现在我们将1到n个数放入这n个房间:表示初始的第1原创 2014-04-26 01:36:51 · 971 阅读 · 0 评论 -
SplayTree学习
SplayTree学习 具体介绍SplayTree的功能我就不说了,可以参考刘汝佳:训练指南P239 或者 下面这个博客: http://www.cnblogs.com/kuangbin/archive/2012/10/07/2714068.html 推荐看论文: (1) 杨思雨《伸展树的基本操作与应用》 (2) Crash《运用伸展树解决数列维护问题》原创 2014-04-25 14:00:17 · 1499 阅读 · 0 评论 -
UVA11922 Permutation Transformer(SplayTree)
UVA11922 Permutation Transformer(SplayTree) 题意:你的任务是根据m条指令修改排列1,2,3…n.对于每条指令a和b,你必须把第a到b区间内的数翻转之后添加到排列尾部.最后输出整个排列即可. 分析:刘汝佳:训练指南P242例题. 直接建立Splay Tree,然后对排列执行操作即可.不过要注意split操作的k值不能为空,所以如果我原创 2014-04-24 17:42:14 · 1392 阅读 · 0 评论 -
[HNOI2002]营业额统计(SplayTree)
[HNOI2002]营业额统计(SplayTree) http://www.lydsy.com/JudgeOnline/problem.php?id=1588 题意:给你n个数,要你求出每个数的最小波动值之和.第一个数的波动值就是自己,之后第i个数的最小波动值=|val[i]-x|.其中x是与val[i]之差绝对值最小的之前出现过的数. 分析: 构建一个SplayTree,支持插入节点,找原创 2014-04-25 21:56:53 · 1039 阅读 · 1 评论 -
ZOJ 3765 Lights(SplayTree)
ZOJ 3765 Lights(SplayTree) http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3765 分析: SplayTree的操作应用.与之前做的SplayTree题目基本一致,还是那些操作. AC代码: #include #include #include using namespac原创 2014-04-28 18:15:25 · 856 阅读 · 0 评论
分享