码迷,mamicode.com
首页 >  
搜索关键字:splay    ( 7870个结果
·算法」 纲要
基本C/C++、STL(vector、set、map、queue、string、algorithm)枚举、贪心、递归、分治、递推、模拟构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表、并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/...
分类:其他好文   时间:2014-05-09 08:10:36    阅读次数:338
zoj 3612 Median (splay)
题目大意: 添加和删除一个数,然后输出中位数。 简单的Splay   维护Splay上有多少个节点就可以了 #include #include #define inf 1LL<<60 #define maxn 222222 #define keyTree (ch[ch[root][1]][0]) using namespace std; typedef long...
分类:其他好文   时间:2014-05-07 07:46:42    阅读次数:405
HDOJ 3487 Play with Chain
裸的Splay  翻转+剪切粘贴 Play with Chain Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3397    Accepted Submission(s): 1408 Problem Des...
分类:其他好文   时间:2014-05-04 09:11:28    阅读次数:280
BZOJ 1588 营业额统计 Splay
主要操作为Splay中插入节点,查找前驱和后继节点。 1: #include 2: #include 3: #include 4: using namespace std; 5: #define MaxL 100005 6: #define INF 0x7ffffff 7: #define keyT...
分类:其他好文   时间:2014-05-01 14:16:03    阅读次数:633
线段树再练习
要不是为了写splay的区间旋转的下放,我才不会写线段树的lazy下放来练练手(我原来的lazy都是跟着函数走的。。)这个时候我们得对lazy进行重新的界定,那就是lazy对当前节点是不产生影响的,而是对它的儿子产生影响。也就是说,当我到了某一个[l,r]区间,我不仅要更新它的lazy值,还要更新本...
分类:其他好文   时间:2014-04-30 23:44:18    阅读次数:426
cf 420D. Cup Trick (Splay树)
Splay  树的比较基本的序列维护操作, 用getSeg( int l, int r) 获取要操作的区间 若:获取区间[l,r],非空,getSeg(l,r),然后KT指向区间[l,r] 若:获取区间为空,如当要在l位置插入一个值时,则getSeg(l,l-2),然后可在KT赋值新节点 D. Cup Trick #include #include #include #include...
分类:其他好文   时间:2014-04-30 22:14:40    阅读次数:326
SPOJ 4487 Splay 基本操作
插入操作,删除操作和置换操作都是单点的,所以不需要lazy标记。这个很简单,都是两次RotateTo,一次Splay操作就搞定。 求最大连续字段和的操作和线段树的题目类似,只需要保存最左边的连续最大字段和,最右边的连续最大字段和,整个子树的连续最大字段和就OK,整个子树的和就OK。 注意PushUp...
分类:其他好文   时间:2014-04-29 21:11:43    阅读次数:628
CF 295E Yaroslav and Points(Splay)
题目大意: 两个操作 1 id op  把id的位置+op 2 id op  查询在【id,op】之间的所有的数的差 思路: 关键是pushup函数。 自己退一下会发现,跟区间的总和,区间的节点个数有关。 比如如果左区间是 1 2 的话 右区间来一个 9 那么 就要加上 9-1+9-2  #include #include #include #incl...
分类:其他好文   时间:2014-04-29 13:44:22    阅读次数:475
[AHOI2006]文本编辑器editor (Splay tree)
我感觉伸展树越来越模版了,没想到这么轻易的就过了。。。 把光标位置标记为pos MOVE:pos++或者pos-- INSERT:把光标旋转至根部,然后把光标后一个字母旋转至根的右子树,然后把insert的内容插入到root的右子树的左子树 ROTATE:把光标旋转至根部,然后把光标后一个字母旋转至根的右子树,然后把rev[root10]取反 GET:得到光标位置的后...
分类:其他好文   时间:2014-04-29 13:31:22    阅读次数:498
hdu-3487-Play with Chain (Splay tree)
伸展树模版真的好长好长。。。 cut a b c:把第a-1个数伸展到根节点,把第b+1个数伸展到a的右子树,然后把ch[ch[root][1][0]]拿掉,放在剩下的树的第c个节点下。 flip a b:把第a-1个数伸展到根节点,把第b+1个数伸展到a的右子树,然后翻转ch[ch[root][1][0]]; 由于会出现操作两边的情况,所以加了两个-1节点。 注意: 1,输出的时候要注...
分类:其他好文   时间:2014-04-27 22:31:19    阅读次数:295
7870条   上一页 1 ... 785 786 787
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!