
数据结构--SplayTree
focus_best
这个作者很懒,什么都没留下…
展开
-
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 · 771 阅读 · 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 · 804 阅读 · 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 · 768 阅读 · 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 · 721 阅读 · 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 · 947 阅读 · 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 · 918 阅读 · 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 · 840 阅读 · 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 · 942 阅读 · 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 · 1465 阅读 · 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 · 1367 阅读 · 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 · 1006 阅读 · 1 评论 -
ZOJ 3765 Lights(SplayTree)
ZOJ 3765 Lights(SplayTree)http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3765分析: SplayTree的操作应用.与之前做的SplayTree题目基本一致,还是那些操作.AC代码:#include#include#includeusing namespac原创 2014-04-28 18:15:25 · 834 阅读 · 0 评论