题解 P3369 【【模板】普通平衡树】

· · 题解

为何整个题解区都没有指针Splay?指针版Splay的常数几乎可以和WBLT相媲美,而且在构造数据上表现十分优越,甚至比一般的treap和SBT要快。

然而众所周知,指针版Splay并不是那么好写我调了一上午,故发一篇题解提供参考,顺便指出几个需要注意的地方。

口胡完毕,下面进入正题

key points

1.关于空指针

2.数组要开大,因为有null这样的多余指针。建议至少开到maxn+3(笔者采用maxn+10)。

3.和WBLT不同,root不可以被初始化,而是应当被赋为null。因为我们插入第一个数值时,这个数值应当被放在root。

4.针对各个函数的其他key points参见注释。需要注意的是,代码使用了内存池,删除节点会回收内存。

5.关于码风