随笔分类 -  平衡树

摘要:将左括号记为1,右括号记为-1,则一个合法的括号序列满足所有的前缀和非负。 用splay维护。 代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 using namespac 阅读全文
posted @ 2017-03-28 20:40 gjghfd 阅读(201) 评论(0) 推荐(1)
摘要:splay模板题。 用splay维护序列,令splay的中序遍历为这个序列,则在处理[l,r]时,先将l-1旋转到根,再将r+1旋转到根的右子树,那么根的右子树的左子树就是[l,r]了。 代码: #include<iostream> #include<cstdio> #include<cstring 阅读全文
posted @ 2017-02-28 10:04 gjghfd 阅读(204) 评论(0) 推荐(1)
摘要:这道题和一般的题目不同,A和S操作要修改所有节点。所以定义基准d,每个节点的工资是它的值+d,这样就能完成所有操作。 I k:将值为k-d的节点插入treap A k:将d加上k S k:将d减去k,并将所有值小于min-d的节点删除。 F k:因为treap在插入时就是有序的,所以直接查找。 这里 阅读全文
posted @ 2016-08-25 19:46 gjghfd 阅读(177) 评论(0) 推荐(1)