splay训练】的更多相关文章

1, CF 455D 2, CF 420D 3, CF 414E…
题意:维护一个文本编辑,并且查询最大前缀和. 写了splay,wa了13次 过了之后觉着特傻逼.发现题解两个栈就可以了,光标前后维护两个栈,维护前面的栈的前缀和 和 最大前缀和. 哎,傻逼,太弱了,还是没仔细分析题目的特殊性质. #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <ctime> #include <cassert…
链接: https://www.nowcoder.com/acm/contest/141/C 题意: 给出一个n个元素的序列(1,2,...,n)和m个操作(1≤n,m≤1e5),每个操作给出两个数p和s(1≤pi≤n,1≤si≤n-pi+1),表示把序列中从p开始的s个数移到最前面,例如序列[1,2,3,4,5]在p=2,s=3时变成序列[2,3,4,1,5],输出最后的序列. 分析: 对于每个操作,直接把序列拆成三个部分,再重新拼接一下就行.可以用Splay或rope来快速完成这个操作. 代…
Prob Hint BZOJ 3323 文艺平衡树 区间翻转 BZOJ 1251 序列终结者 区间翻转,询问最值 BZOJ 1895 supermemo 区间加,翻转,剪切,询问最值.点插入,删除. BZOJ 1056 排名系统 专治操作完不伸展 BZOJ 1552 robotic sort 区间反转,清除标记,splay 的灵活运用 BZOJ 3224 普通平衡树 像普通平衡树一样使用 Splay 1.查找区间第K大+排序 http://acm.hdu.edu.cn/showproblem.p…
题目 题解 这道题可以说是数列问题的大BOSS,也算是这一周来学习splay等数据结构的一个总结. 我们一个一个地看这些操作. 对于操作1,我们首先建一棵子树,直接接上原树即可. 对于操作2,我们找到区间,不能直接取消连接关系,而是要一个一个的删除以回收空间.我们把已经删除的节点用一个栈保存起来. 对于操作3,我们找到区间,打标记即可. 对于操作4,同操作3. 对于操作5,我们找到区间,直接调用sum值即可. 对于操作6,我们对于每个节点对应的子树区间维护最大子段和,最大从左边开始的子段和,最大…
平衡树初阶——AVL平衡二叉查找树 一.什么是二叉树 1. 什么是树. 计算机科学里面的树本质是一个树状图.树首先是一个有向无环图,由根节点指向子结点.但是不严格的说,我们也研究无向树.所谓无向树就是将有向树的所有边看成无向边形成的树状图.树是一种递归的数据结构,所以我们研究树也是按照递归的方式去研究的. 2.什么是二叉树. 我们给出二叉树的递归定义如下: (1)空树是一个二叉树. (2)单个节点是一个二叉树. (3)如果一棵树中,以它的左右子节点为根形成的子树都是二叉树,那么这棵树本身也是二叉…
虽然说是疯狂训练吧,但是也没写多少题,就把伸展树的操作熟悉了一下,ac了5个题目. 一整天没啥可吐槽的,除了昨天在机房打游戏的某位朋友翻车后和教练谈了谈心2333 说题吧.. 1.BZOJ1208 HNOI2004 宠物收养所 这个题思路很简单,当做模板题打,在模板题中也算是简单的了,涉及操作:前驱,后继,插入,删除..输入进来就插入,领养走就删除,并没有什么可说的.加上一个标记表示现在树上表示的是宠物还是人. 另外听说可以用set做,但是我并不会set(???set都不会吃屎吧). CODE:…
Day 0 2018.10.20 其实写的时候已经是Day 1了--(凌晨两点) 终于停课了,爽啊 get树状数组+线段树(延迟标记) 洛谷:提高组所有nlogn模板+每日一道搜索题(基本的图的遍历题,然而还是看了题解) 学习时间:3.5小时 明天洛谷上有两场训练赛,争取总分300+ 明天get扫描线+分块 Day 1 2018.10.21 并没有get任何新东西-- 在洛谷上打了两场比赛 上午第一场,3.5小时3题.8:30开始然而10:00才开始打.一个半小时一题都没A.原本以为T1肯定能A…
P3960 列队 题目描述 Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有n×m名学生,方阵的行数为 n,列数为 m. 为了便于管理,教官在训练开始时,按照从前到后,从左到右的顺序给方阵中 的学生从 1 到 n×m 编上了号码(参见后面的样例).即:初始时,第 i 行第 j 列 的学生的编号是(i−1)×m+j. 然而在练习方阵的时候,经常会有学生因为各种各样的事情需要离队.在一天 中,一共发生了 …
bzoj1503,懒得复制,戳我戳我 Solution: 我知不知道我是那根筋抽了突然来做splay,调了起码\(3h+\),到第二天才改出来(我好菜啊),当做训练调错吧 一个裸的splay,没啥好说的 Attention: 我的del操作里面,注意连边要把儿子的父亲更改,父亲的儿子更改,并且注意\(update\) void del(int x){ ins(x); int now=root; if(ls(now))ans+=node[ls(now)].siz; if(node[now].cnt…