05 2017 档案

摘要:学长 "FallDream" 所出的模拟赛,个人感觉题目难度还是比较适中的,难度在提高+左右,可能比较接近弱省省选,总体来讲试题考查范围较广,个人认为还是很不错的。 所有试题如无特殊声明,开启 O2优化,时限1s,内存上限为128MB T1(seq)小Z爱序列 题意简析 给出一个1~n的全排列,问有 阅读全文
posted @ 2017-05-22 09:19 Melacau 阅读(207) 评论(0) 推荐(0)
摘要:"原题传送门" 题意简析 给定一个区间,可以在这个区间上每个整数点插入若干个数(这些数数值可以重复)你需要支持2种操作: 1)在[a,b]间所有整数点插入c 2)查询[a,b]内第c大的数 解题思路 树套树裸题,外层是权值线段树,内层是普通线段树,通过将操作1的c离散后维护即可。 总复杂度均为$O( 阅读全文
posted @ 2017-05-21 10:57 Melacau 阅读(233) 评论(0) 推荐(0)
摘要:原题传送门 因为马上要开始搞树套树了,所以学了一波权值线段树。。。毕竟是会点zkw线段树的,所以zkw线段树大法好! 解题思路: 介绍一下权值线段树吧,其实感觉就是线段树的本义,就是你用线段树维护了数轴上的一段区间,然后统计这个区间内被覆盖的点的数量(我们认为同一个点可以被覆盖多次) 然后这题你就直 阅读全文
posted @ 2017-05-16 14:42 Melacau 阅读(610) 评论(0) 推荐(0)
摘要:传送门(因为BZOJ上没有题面...所以放的是luogu的) 题意:你需要维护一个序列,支持区间翻转与查询区间最小。 解题思路:由于区间最小实际上每一次就是对应的整个数列的第k小,因此可以直接预处理解决,接下来考虑如何找到这个点,可以直接用一个指针解决,然后就是简单的无旋treap操作: 给定一个平 阅读全文
posted @ 2017-05-15 16:24 Melacau 阅读(495) 评论(0) 推荐(1)
摘要:原题传送门 题意简析:你需要写一个数据结构,维护一个时间轴,支持如下操作: 1)插入1个新区间,删除所有时间轴上与它有交的区间并输出个数。 2)查询当前时间轴上的区间个数。 解题思路:裸的无旋treap即可。按照双端点排序,然后找前驱后继,进行操作即可。 AC代码:(目前是洛谷 Rank1 596m 阅读全文
posted @ 2017-05-09 15:25 Melacau 阅读(416) 评论(0) 推荐(0)
摘要:题意:n个连续的点,有若干种颜色,每个颜色会因为某些操作变为另一种颜色,动态查询颜色段数。 解题思路:对每个颜色开一棵平衡树启发式合并应该是最裸的想法,但是我们有更优的! 考虑对每个颜色利用链表储存它的集合,在合并两种颜色时可以很简单通过对比原节点位置的前后颜色来进行答案的更新,然后利用启发式合并进 阅读全文
posted @ 2017-05-09 09:15 Melacau 阅读(360) 评论(1) 推荐(0)
摘要:题意原题很清楚了。 解题思路:裸的平衡树操作,注意动态开点即可。 细节还是比较多的,具体参见代码吧。。。 阅读全文
posted @ 2017-05-08 17:20 Melacau 阅读(203) 评论(0) 推荐(0)
摘要:原题传送门 解题思路:裸平衡树操作,支持区间翻转即可,这里写了无旋treap。 其实平衡树的区间操作就和线段树差不多,你用个标记搞一下就好了,,,,, 阅读全文
posted @ 2017-05-08 13:24 Melacau 阅读(365) 评论(0) 推荐(0)
摘要:最近在研究平衡树,看起来这种东西又丧水又很深,感觉很难搞清楚。在Ditoly学长的建议下,我先学习了正常的treap,个人感觉这应该是平衡树当中比较好懂的而且比较好写的一种。 然而,发现带旋treap有很多无法支持的操作,例如各种区间操作,而且由于会旋转无法可持久化,这是一个十分影响实用性的问题,在 阅读全文
posted @ 2017-05-08 10:44 Melacau 阅读(1970) 评论(3) 推荐(1)
摘要:原题传送门 题意:给你N个带权点,一开始相互独立(每个点视为单独一个集合),有2种操作:1)合并2个集合;2)查询包含某元素集合内的权值第k小点编号。 解题思路:显然合并就是并查集,而查询则是平衡树实现。 考虑对每个集合开一棵平衡树,这样的话直接合并2棵平衡树的效率最坏是\( n \log n \) 阅读全文
posted @ 2017-05-04 09:44 Melacau 阅读(318) 评论(0) 推荐(0)
摘要:最近开始学习平衡树,在学长的强烈推荐下学习了AVL、红黑树、splay(以上我都还没学)treap。 首先讲一下个人对treap(树堆)的理解。 treap,顾名思义,就是tree+heap,首先因为treap是一棵平衡树,因此它满足二叉排序树的性质,接下来,为了防止BST退化成一条链,它使用了随机 阅读全文
posted @ 2017-05-03 09:08 Melacau 阅读(466) 评论(0) 推荐(0)