noi2005 维护序列。 splay

来源:互联网 发布:旅行车 知乎 编辑:程序博客网 时间:2024/04/30 09:10

挑战自己写了一下这道noi历史上最变态的数据结构,

noi2005的维护序列,非常变态非常变态,在经过4小时的debug后一次ac了= =

如果再赛场上以我现在水平一定搞不出来。。。

吃一堑长一智,这题对平衡树的操作更加深入、

由于oj上的内存限制只有64mb。。。所以为了内存,加了个回收栈。

后来又加了个回收栈,

回收栈指的是被删除的节点进入栈中,需要从栈中拿出,栈为空那个则再新增节点。。

从回收栈取出节点的时候要清除节点的标记。。

节约很大的空间(尽管noi时期不用管它)

 

 

这题改天要重新写写。。

 

 

之前一直不敢写是因为有翻转操作不敢写,翻转则是给根结点一个标记,左右儿子交换,值传递,

其余的与普通的splay值传递是一样的。。

注意给给前后各加一个点,max【0】=-inf。这样进行初始化。。。

 

 

 

 

 

 

 

 

原创粉丝点击