摘要:
空间消耗非常玄学,有多大开多大就完事了。其实是因为单次操作可能会有数次Merge和Split操作,按照下面的版本的话Merge和Split都进行复制,所以一次操作可能复制了4个版本。 四个函数式查询,然后Merge的时候拷贝对应的xy子树,Split的时候拷贝p树。事实上,Merge和Split总是 阅读全文
摘要:
https://www.luogu.org/problem/P4567 事实证明无旋Treap是不是不可能会比Splay快? cpp include using namespace std; typedef long long ll; define ls(p) ch[p][0] define rs( 阅读全文
摘要:
```cpp include using namespace std; typedef long long ll; define ls(p) ch[p][0] define rs(p) ch[p][1] const int MAXN = 100005; int a[MAXN]; ll sum[MAX 阅读全文
摘要:
https://www.luogu.org/problem/P4008 无旋Treap也可以维护序列。 千万要注意要先判断p节点存在才进行Show操作,不然输出一个'\0'(或者RecBin里面的东西)草。 假如有限制同时存在的节点数量的话,UnBuild操作是显得重要的。 当然这里最主要的是类似笛 阅读全文