随笔分类 -  数据结构:平衡树:Splay

摘要:P2042 [NOI2005] 维护数列 题目大意: 请写一个程序,要求维护一个数列,支持以下 \(6\) 种操作: solution: 数据结构题,观察一下操作,看看要维护什么: \(\text{Splay}\) 的基本信息: 大小$siz$、父亲$fa$、值$v$、左右儿子$s[,2,]$。 懒 阅读全文
posted @ 2021-08-03 10:00 Mr_think 阅读(47) 评论(0) 推荐(0)
摘要:P1486 [NOI2004] 郁闷的出纳员 题目大意: 维护一个数据结构,有以下操作: 插入一个点,若该点的值小于规定下界,直接删除; 把所有点的值加 \(k\) ; 把所有点的值减 \(k\) ,若有点得值小于下界,则删除; 查询第 \(k\) 大的数,若没有输出 \(-1\) ; 最后还要输出 阅读全文
posted @ 2021-07-29 20:15 Mr_think 阅读(57) 评论(0) 推荐(0)
摘要:P2234 [HNOI2002]营业额统计 题目大意: 求: \(\sum _{i=1} ^{n} \min _{j=1} ^{i-1}\{|a[\,i\,]-a[\,j\,]|\}\) solution: 观察柿子就是求 \(a[\,i\,]\) 的前驱后继。做差取个最小值累加进答案中即可。用 \ 阅读全文
posted @ 2021-07-29 20:08 Mr_think 阅读(50) 评论(0) 推荐(0)
摘要:平衡树 Splay $\text{Splay}$是平衡树的一种,中文名为伸展树。 它的主要思想是:对于查找频率较高的节点,使其处于离根节点相对较近的节点。这样就可以保证了查找的效率。 旋转操作: 为了使 Splay 保持平衡而进行旋转操作,旋转的本质是将某个节点上移一个位置。 旋转需要保证: 整棵 阅读全文
posted @ 2021-07-29 19:51 Mr_think 阅读(83) 评论(0) 推荐(0)