平衡树
文章平均质量分 82
StaroForgin
这个作者很懒,什么都没留下…
展开
-
[硫化铂]等待
这种难题对于卷爷来说就是可以随切的Easy Problem。。。原创 2022-03-30 17:15:36 · 427 阅读 · 0 评论 -
[NOI2003]文本编辑器
用Splay做这道题真的好蠢呀。原创 2021-09-03 22:34:06 · 160 阅读 · 0 评论 -
我永远喜欢珂朵莉~
奇怪的题目名。原创 2021-09-02 22:51:33 · 105 阅读 · 0 评论 -
[CF1558D]Top-Notch Insertions
OneInDark又AK了。原创 2021-08-25 16:18:16 · 226 阅读 · 0 评论 -
[NOI2021]密码箱
PPL说自己是一只母*。原创 2021-07-29 09:57:49 · 240 阅读 · 0 评论 -
[CF1534H]Lost Nodes
都是这作蒟蒻的没时没运,不明不暗,负屈衔冤!!!原创 2021-06-30 21:41:14 · 259 阅读 · 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 · 202 阅读 · 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 · 296 阅读 · 0 评论 -
[ZJOI2012]小蓝的好友
小蓝的好友题解貌似很板的一道题好吧,由于感觉与以前做过的一些题很像,所以就想到了单调栈。很显然,我们要求的就是所有全白的格子个数。我们对于每一行,用单调栈维护它每一列这行的白格子高度。然后就很容易计算出它的所有矩形的方案数,一个的算法就诞生了。可这明显会TLE。好吧,我们发现对于每新加的一行,若i处有黑格,就把它赋值为0,否则加1吧。这东西明显还可以用平衡树维护。于...原创 2020-01-19 20:39:27 · 258 阅读 · 0 评论 -
[国家集训队]Tree
Tree题解一道LCT板题。看样子就像是一道LCT的板题,只需要将乘与加的懒标记分别传下去即可。‘-’就是简单的树上加边与删边‘/'就是查询和,update时更新即可。不过需要注意一下在乘与加时懒标记与总数的变化。mul是乘的懒标记,add是加的懒标记,sum是当前和,siz是子树大小。公式其实很好推的,关键是别直接乘与加,笔者就因为这个WA了源码...原创 2020-01-10 16:19:46 · 183 阅读 · 0 评论 -
可持久化无旋Treap学习
可持久化无旋Treap今天又学习了可持久化非旋Treap,其实很简单,将普通的非旋Treap持久化一遍就行了。具体来说,就是将每次操作后得到的树记录下来,每次需要改变一个点的信息时,将原有的点的信息记录下来,建一个新点去更改它的信息。其实持久化的过程与线段树的持久化相似。其实打出来跟普通的非旋Treap差不多,加几个改点的步骤即可。非旋Treap学习见此处:非旋Treap学习模...原创 2019-12-02 15:56:31 · 168 阅读 · 0 评论 -
项链工厂
项链工厂题解一道线段树的题,但是笔者还是用FHQ_Treap写了,虽然调得想吐,这就是拿大数据一个一个比对的结果。虽说这是一个环,但我们还是可以采取链的方式维护,最后再特判两端的情况即可。先来分析一下每个操作的情况。对于P操作,我们可以将其分为前n-k个与后k个两棵子树,将其反过来合并即可。对于F操作,没必要去想那些奇偶性判断,直接将后n-1个倒置过来即可。对于S操作,...原创 2019-11-30 16:31:37 · 188 阅读 · 1 评论 -
维修数列
维修数列题解这是一道无旋Treap模板题,尽管笔者调了半天。我们来分析一下每一个操作。对于INSERT操作,我们可以将其从x分成两个子树,再将它要加的点建成一棵子树,将这三棵树合并即可。对于DELETE操作,我们可以将其拆为三棵子树,删掉中间的子树,把两边的合并即可。对于MAKE-SAME操作,我们可以将其三棵子树,覆盖掉中间那棵,将三棵合并即可。对于REVERSE操作...原创 2019-11-29 16:14:04 · 176 阅读 · 2 评论 -
非旋Treap学习
非旋Treap好东西!!!从疯狂‘赚’的Treap到不‘赚’,Treap付出了时间的代价,但减少了代码的长度多么重要的一点呀!!!感谢神FHQ(orz)发明了这个数据结构。看过冗长的Treap后,再来打非旋Treap,是如此的释然。非旋Treap最大的优点就是代码短,方便实现,支持操作多。今天,来讲讲一种二分查找树非旋Treap。非旋Treap最重要的操作是split(分裂)与merge(...原创 2019-11-27 14:58:15 · 309 阅读 · 0 评论 -
Treap平衡树学习
Treap平衡树今天学习了Treap平衡树,记录一下心得。前导:二叉查找树BST(Binary Search Tree)概率二叉查找树(Binary Search Tree)是基于插入思想的一种在线的排序数据结构。 它又叫二叉搜索树(Binary Search Tree)、二叉排序树(Binary Sort Tree),简称 BST。 这种数据结构的基本思想是在二叉树的基础上,...原创 2019-11-25 21:33:36 · 246 阅读 · 0 评论