随笔分类 -  数据结构--splay

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