
伸展树
逐梦起航-带梦飞翔
为了更加长远的快乐!
展开
-
bzoj1861 [Zjoi2006]Book 书架
【题意】如指令所示:1. Top S——表示把编号为S的书放在最上面。 2. Bottom S——表示把编号为S的书放在最下面。 3. Insert S T——T∈{-1,0,1},若编号为S的书上面有X本书,则这条命令表示把这本书放回去后它的上面有X+T本书; 4. Ask S——询问编号为S的书的上面目前有多少本书。 5. Query S——询问从上面数起的第S本书的编号。【题解】伸展树借助伸...原创 2017-12-23 13:19:45 · 352 阅读 · 0 评论 -
伸展树—作用介绍
伸展树,也叫分裂树,是一种二叉排序树,它能在O(log n)内完成插入、查找和删除操作。 在伸展树上的一般操作都基于伸展操作:假设想要对一个二叉查找树执行一系列的查找操作,为了使整个查找时间更小,被查频率高的那些条目就应当经常处于靠近树根的位置。于是想到设计一个简单方法, 在每次查找之后对树进行重构,把被查找的条目搬移到离树根近一些的地方。伸展树应运而生。伸展树是一种自调整形式的二叉查找树,原创 2017-05-28 23:33:41 · 841 阅读 · 0 评论 -
伸展树—系列题目
一、文艺二叉树(来源:codevs 3303)有n个数,这个序列依次是(1,2,…,n-1,n),每次翻转区间(l,r),输出翻转的最终结果。思路:1、用树的话,如何做到区间反转?把需要反转的树放到一棵子树当中,令该子树的左右孩子对换即可;2、很自然,会想到用layz的思路优化时间;3、如果左右子树对调,这还是一棵“左<根<右”的树吗?显然,它完全不合。这使得这棵树不能用原先的find...原创 2017-05-29 15:04:00 · 1129 阅读 · 0 评论 -
bzoj 3249 [ioi2013]game(线段树)(伸展树)
题目 Bazza 和 Shazza 正在玩游戏。游戏在一个 R 行 C 列的网格上进行。 其中, R 行 编号为 0, …, R - 1 , C 列编号为 0, …, C - 1 。 我们用 (P, Q) 表示位于 P 行 Q 列的单 元格。 每个单元格包含一个非负整数,游戏开始时所有单元格内的整数均为零。 游戏如下进行:任意时刻,Bazza 可以做如下动作之一: 修改一个单元格 (p, q)...原创 2018-10-19 13:37:10 · 432 阅读 · 0 评论