HDU 1890 Robotic Sort (Splaytree 区间翻转)

第一道区间翻转的Splaytree题,其实和线段树差不多的,标记一下,该down的时候down就行了,记录每个数在伸展树中的下标然后从根到节点push down下去。不过有一个小错误倒是让我调了好久,我是加了两个边界点-1的,这样子比较好处理区间,找到那个数后Splay到根,然后要标记下左边的数,如果直接root->ch[1]->mark ^= 1会把-1也翻转,而我刚开始直接翻转所以各种出错。所以还是应该要把要翻转的区间旋转到keytree也就是root->ch[1]->ch[0],最后mark下。



你可能感兴趣的:(HDU 1890 Robotic Sort (Splaytree 区间翻转))