随笔分类 - 数据结构--splay
摘要:链接推荐一篇帖子http://blog.csdn.net/lyhypacm/article/details/6734748这题暴力不可行主要是因为这颗树可能极度不平衡,不能用并查集是不能路径压缩,这样时间复杂度是很高的。可以用伸展树主要是因为它的伸展性,每次操作后可以通过伸展使这棵树更好的保持平衡。...
阅读全文
摘要:链接splay的增删改操作。刚开始对于某段区间首先有了lazy标记时,把其左右孩子给交换了,导致在pushup时又交换了一次而debug了n久。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #...
阅读全文
摘要:链接简单的两种操作,一种删除某段区间,加在第I个点的后面,另一个是翻转区间。都是splay的简单操作。悲剧一:pushdown时候忘记让lz=0悲剧二:删除区间,加在某点之后的时候忘记修改其父亲节点。 1 #include 2 #include 3 #include 4 #include ...
阅读全文
摘要:链接操作不少,不过都是一些基本的操作,增删,旋转,逆转,询问最小。注意一点:T 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using names...
阅读全文
摘要:先贴一份不怎么完善的模板,等刷一些题目熟悉之后再来完善。代码参考自kuangbin及cxlove两位大神。splay的基本功能题目:维护一个数列,支持以下几种操作:1. 插入:在当前数列第posi 个数字后面插入tot 个数字;若在数列首位插入,则posi 为0。2. 删除:从当前数列第posi 个...
阅读全文
摘要:链接线段树的水题,拿来学习一下splay.本题涉及到求最大值以及单点更新,折腾了许久,差不多把splay搞明白了。按位置建树,按位置是一颗排序二叉树,对于区间的操作非常方便,每次操作都将需要的结点转自根的右孩子的左孩子,因为加了2个结点,一个最小的,一个最大的,据说是为了防止越界。这题只有单点,所以...
阅读全文

浙公网安备 33010602011771号