摘要: 总觉得自己的搭的窝比较安心,现在博客迁移到http://rolight.cn/blog/上,所有的文章也都迁移过去了。。欢迎来踩 阅读全文
posted @ 2015-05-13 22:46 acm_roll 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 统计一个区间中没有重复得数,用线段树搞法大概就是记录一下每个数上一次出现的位置,然后肯这个区间的pre的最大值是否大于左端点的值了。//预处理前缀和+线段树解法#include #include #include #include #include #include #include #includ... 阅读全文
posted @ 2015-02-08 21:06 acm_roll 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 这题用Splay写得我蛋疼菊紧,4000b的代码还有debug半天,看来我的splay姿势还不够好a = =首先N是很大的,所以离散化是必然的,把要Top操作的和要Query操作的编号单独划分为一个区间,然后再中间会产生其他的区间,把这些区间缩点,然后离散化就好了。三个操作其实不难实现,Top操作只... 阅读全文
posted @ 2015-02-07 16:28 acm_roll 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 主要用到的就是一个splay的区间翻转。。感觉像splay这样灵活的数据结构实现区间翻转并不难。。。这题让我主要蛋疼的地方是一开始不知道怎么同时记录这个节点的位置和这个节点的值并且能够相互查找。后来发现傻逼了,由于用的不是指针来实现,节点本身的编号就可以代表节点的位置,由于每个节点里面的值是不会变的... 阅读全文
posted @ 2015-02-07 14:12 acm_roll 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 用Splay实现区间增减,查询区间和。要对一个区间进行操作只要先把元素在序列中的位置当做键值建树,然后对l,r操作只要把l - 1 splay到根,r+1 splay到根的右子树,那么r + 1的左子树里面就有这个区间的所有的元素了。对每个节点存一些信息,就可以很方便的处理了。不过这题用splay写... 阅读全文
posted @ 2015-02-06 16:38 acm_roll 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 这题由于每次都是对树全体进行操作,其实设置一个全局的延迟标记就好用到的操作主要是插入,删除子树,统计子树信息找第k大。感觉Splay可以灵活的把需要用到的节点提到根上或者是根的儿子这里还是很方便的。#include #include #include #include #include using ... 阅读全文
posted @ 2015-02-06 15:02 acm_roll 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 要实现的操作是插入,删除,找到比指定值大的,小的值操作。Splay的删除操作可以是直接用二叉搜索树的删除方式,或者是先将要删除的节点Splay到根,然后找到左子树中最大的节点,将其Splay到根的左儿子位置,此时这个节点必然是没有右子树的,然后直接把他当做根就好。找大的值可以先找到如果要插入这个值会... 阅读全文
posted @ 2015-02-06 11:49 acm_roll 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 很水的题,找一下前驱和后继第一次写Splay,感觉非常蛋疼,而且不用指针搞各种debug不能。他是利用伸展操作来保证平均复杂度的,不过写过Treap之后,伸展操作并不难理解= =,不过写起来感觉还是有点蛋疼的,所以这遍是仿照cxlove的写法的#include #include #include #... 阅读全文
posted @ 2015-02-06 11:24 acm_roll 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 这是一个比较全面的题,涉及到了添加删除寻找第k大还有树的合并。做法大概先执行所有的删边操作,建立最终的图,这里可以用并查集维护一下, 方便判断是不是在一个联通块中,然后对每个子块建立一个Treap,如果遇到添加边导致两个联通块合并成一个的情况,就将两棵树当中小的那个合并到大的那个里面。因为每次这样的... 阅读全文
posted @ 2015-02-06 11:20 acm_roll 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 这题其实就是一个在二叉搜索树里面找前驱和后继的题,以前好像用线段树+离散化搞过,弄得比较挫,学会AVL了之后就是方便。简单说一下怎么找前驱和后继,前驱的话,如果当前节点有左子树,那么前驱就是左子树中的最大节点,否则往上找第一个是他父亲节点的右儿子的节点,后继和前驱差不多,反过来就行。因为我这里没有存... 阅读全文
posted @ 2015-02-06 11:15 acm_roll 阅读(500) 评论(0) 推荐(0) 编辑