
平衡树
文章平均质量分 82
StaroForgin
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[硫化铂]等待
这种难题对于卷爷来说就是可以随切的Easy Problem。。。原创 2022-03-30 17:15:36 · 467 阅读 · 0 评论 -
[NOI2003]文本编辑器
用Splay做这道题真的好蠢呀。原创 2021-09-03 22:34:06 · 190 阅读 · 0 评论 -
我永远喜欢珂朵莉~
奇怪的题目名。原创 2021-09-02 22:51:33 · 127 阅读 · 0 评论 -
[CF1558D]Top-Notch Insertions
OneInDark又AK了。原创 2021-08-25 16:18:16 · 262 阅读 · 0 评论 -
[NOI2021]密码箱
PPL说自己是一只母*。原创 2021-07-29 09:57:49 · 282 阅读 · 0 评论 -
[CF1534H]Lost Nodes
都是这作蒟蒻的没时没运,不明不暗,负屈衔冤!!!原创 2021-06-30 21:41:14 · 298 阅读 · 1 评论 -
[BZOJ3786]星系探索
星系探索 题解 一道ETT板子题 笔者最开始用FHQ_Treap打的ETT,忘记可以沿fafafa算出它的欧拉序,一直没调出来,于是就改用splay了。 ETT的模板。其实我觉得叫它平衡树板子就可以了 我们可以先通过欧拉序建出一颗平衡树来,令inxin_{x}inx为点xxx的入欧拉序,outxout_{x}outx为点xxx的出欧拉序。 容易发现,inrootin_{root}inroot到invin_{v}inv的区间中删去既有出又有入的点,得到的就是从根到点vvv的入点的路径。 于是,第一个操原创 2021-01-02 17:53:36 · 233 阅读 · 0 评论 -
[牛客2020第4场]牛半仙的妹子序列
牛半仙的妹子序列 题解 《关于我因过于这道题卡常而将其称为"贞卡常"的这件事》 场上被卡常了,下来加了几个优化就卡过去了。 这道题应该很容易看出是一个dp,40pts的O(n2)O(n^2)O(n2)的dp式子应该是很好想的。 我们定义dpidp_{i}dpi为在只关注第iii个数到第nnn个数之间的序列构成合法序列的方案数。 容易得到方程式 dpi=∑j=i+1n[满足条件]dpjdp_{i}=\sum_{j=i+1}^{n}[满足条件]dp_{j}dpi=∑j=i+1n[满足条件]dpj。 而答原创 2020-10-30 19:49:50 · 348 阅读 · 0 评论 -
[ZJOI2012]小蓝的好友
小蓝的好友 题解 貌似很板的一道题 好吧,由于感觉与以前做过的一些题很像,所以就想到了单调栈。 很显然,我们要求的就是所有全白的格子个数。我们对于每一行,用单调栈维护它每一列这行的白格子高度。 然后就很容易计算出它的所有矩形的方案数,一个的算法就诞生了。 可这明显会TLE。 好吧,我们发现对于每新加的一行,若i处有黑格,就把它赋值为0,否则加1吧。这东西明显还可以用平衡树维护。 于...原创 2020-01-19 20:39:27 · 285 阅读 · 0 评论 -
[国家集训队]Tree
Tree 题解 一道LCT板题。 看样子就像是一道LCT的板题,只需要将乘与加的懒标记分别传下去即可。 ‘-’就是简单的树上加边与删边 ‘/'就是查询和,update时更新即可。 不过需要注意一下在乘与加时懒标记与总数的变化。 mul是乘的懒标记,add是加的懒标记,sum是当前和,siz是子树大小。 公式其实很好推的,关键是别直接乘与加,笔者就因为这个WA了 源码 ...原创 2020-01-10 16:19:46 · 211 阅读 · 0 评论 -
可持久化无旋Treap学习
可持久化无旋Treap 今天又学习了可持久化非旋Treap,其实很简单,将普通的非旋Treap持久化一遍就行了。具体来说,就是将每次操作后得到的树记录下来,每次需要改变一个点的信息时,将原有的点的信息记录下来,建一个新点去更改它的信息。 其实持久化的过程与线段树的持久化相似。 其实打出来跟普通的非旋Treap差不多,加几个改点的步骤即可。 非旋Treap学习见此处:非旋Treap学习 模...原创 2019-12-02 15:56:31 · 213 阅读 · 0 评论 -
项链工厂
项链工厂 题解 一道线段树的题,但是笔者还是用FHQ_Treap写了,虽然调得想吐,这就是拿大数据一个一个比对的结果。 虽说这是一个环,但我们还是可以采取链的方式维护,最后再特判两端的情况即可。 先来分析一下每个操作的情况。 对于P操作,我们可以将其分为前n-k个与后k个两棵子树,将其反过来合并即可。 对于F操作,没必要去想那些奇偶性判断,直接将后n-1个倒置过来即可。 对于S操作,...原创 2019-11-30 16:31:37 · 213 阅读 · 1 评论 -
维修数列
维修数列 题解 这是一道无旋Treap模板题,尽管笔者调了半天。 我们来分析一下每一个操作。 对于INSERT操作,我们可以将其从x分成两个子树,再将它要加的点建成一棵子树,将这三棵树合并即可。 对于DELETE操作,我们可以将其拆为三棵子树,删掉中间的子树,把两边的合并即可。 对于MAKE-SAME操作,我们可以将其三棵子树,覆盖掉中间那棵,将三棵合并即可。 对于REVERSE操作...原创 2019-11-29 16:14:04 · 218 阅读 · 2 评论 -
非旋Treap学习
非旋Treap 好东西!!!从疯狂‘赚’的Treap到不‘赚’,Treap付出了时间的代价,但减少了代码的长度多么重要的一点呀!!!感谢神FHQ(orz)发明了这个数据结构。看过冗长的Treap后,再来打非旋Treap,是如此的释然。非旋Treap最大的优点就是代码短,方便实现,支持操作多。今天,来讲讲一种二分查找树非旋Treap。 非旋Treap最重要的操作是split(分裂)与merge(...原创 2019-11-27 14:58:15 · 340 阅读 · 0 评论 -
Treap平衡树学习
Treap平衡树 今天学习了Treap平衡树,记录一下心得。 前导:二叉查找树BST(Binary Search Tree) 概率 二叉查找树(Binary Search Tree)是基于插入思想的一种在线的排序数据结构。 它又叫二叉搜索树(Binary Search Tree)、二叉排序树(Binary Sort Tree),简称 BST。 这种数据结构的基本思想是在二叉树的基础上,...原创 2019-11-25 21:33:36 · 269 阅读 · 0 评论