平衡树
文章平均质量分 65
逍遥Fau
为伊蕾娜献上心脏!
展开
-
P4008 文本编辑器 (Splay)
题目链接: P4008 文本编辑器 大致题意 略 解题思路 Splay 直接考虑到我们需要完成的所有操作 insert 相当于在splay中插入一棵子树 delete 相当于在splay中删除一棵子树 get 相当于在splay输出一棵子树的中序遍历 move prev next 都是对于光标的操作, 我们直接维护一个全局变量pos表示光标即可 我们分析后发现Splay可以完美的实现这个题的所有操作要求. 但是这里存在一个细节问题, 即: 我们如何去定义pos. 本文中我的定义是, pos指向我们下一个要原创 2021-05-20 14:30:39 · 164 阅读 · 0 评论 -
排序机械臂(splay)
题目链接: 排序机械臂 大致题意 给定一个长度为n的序列, 需要进行n次交换操作. 第i次操作需要将区间[i, pi]进行翻转, 其中pi表示序列第i小的数字的下标. 特别的, 如果序列中有重复的元素, 则认为在初始序列中下标小的数字更小. 解题思路 题目中由于涉及到了区间翻转, 我们应当联想到是否可以采用==平衡树==解决该问题. 首先有个疑问, 我们应当如何维护序列? 怎么来维护序列? (下面描述先不考虑有重复元素的情况) 因为每次我们需要找到序列中第k小的数字, 然后进行区间翻转. 于是我们考虑两种维原创 2021-02-13 22:03:52 · 248 阅读 · 0 评论