随笔分类 -  平衡树

摘要:传送门 有插入的操作,而且两种修改对区间和都可以打标记,所以直接平衡树维护就完事了 区间加等差数列的操作就维护一个 $s,p$ 表示区间加以 $s$ 为首项,$p$ 为公差的数列,然后记得覆盖标记要直接把以前的标记都覆盖 因为我不知道区间覆盖的值域是多少,所以多维护一个 $pd$ 判断是否有覆盖标记 阅读全文
posted @ 2019-09-13 10:28 LLTYYC 阅读(280) 评论(0) 推荐(0)
摘要:传送门 直接大力线段树套平衡树 线段树维护区间,平衡树维护权值 对于询问区间内排名为 $K$ 的值,二分答案然后判断 其余操作都很好搞了 复杂度 $O(nlog^3_n)$ ,然后就是丧心病狂的代码和卡常时间了QAQ 我这个傻逼的代码要开 $O2$ 才过得去QAQ 如果一开始建树时不要一个个插入而是 阅读全文
posted @ 2019-03-27 21:44 LLTYYC 阅读(143) 评论(0) 推荐(0)
摘要:传送门 骚题一道,给每个"数"一个实数值 A 来表示它们的相对大小关系 $A\in (0,1)$ 考虑如何维护它们之间的相对大小关系 有插入操作 考虑一颗二叉查找树,每个节点维护它子树的最小值$A_{min}$,最大值$A_{max}$,它本身的实数$\frac{A_{min}+A_{max}}{2 阅读全文
posted @ 2018-12-23 00:19 LLTYYC 阅读(222) 评论(0) 推荐(0)
摘要:传送门 如果没有修改的操作,很容易想到 后缀数组 倍增+哈希求 LCQ 如果有修改呢,哈希值就会发生改变,这时我们就要找一种数据结构来维护哈希值 emm...改字符和插入字符.... 显然可以用平衡树维护 所以总体思路就是用平衡树维护哈希值,然后倍增+哈希求LCQ 怎么维护哈希值很容易想到,直接看具 阅读全文
posted @ 2018-12-13 14:08 LLTYYC 阅读(154) 评论(0) 推荐(0)
摘要:传送门 好久没写Splay了,写一下练手 看到查询第 k 大肯定想到权值线段树平衡树 所以直接上 Splay ,用并查集维护联通 合并直接启发式合并就好了 启发式合并就是把节点少的平衡树每个点都拆下来,一个个插到另一个树上.. 查询第k大只要知道第 k 大的值,就知道编号了,因为每个值都唯一对应一个 阅读全文
posted @ 2018-10-25 13:55 LLTYYC 阅读(170) 评论(0) 推荐(0)
摘要:传送门 Splay模板题 考虑如何把一颗树翻转 把它的左右儿子翻转,左右儿子的左右儿子翻转...直到每个节点都被翻转 一颗树这样转后可以发现树的中序遍历也刚好左右翻转了 所以可以用Splay维护,维护标记也不难,只要每次向下之前都先传一下标记就可以了 注意此时Splay节点的大小关系是他们在序列的位 阅读全文
posted @ 2018-10-11 10:13 LLTYYC 阅读(173) 评论(0) 推荐(0)
摘要:传送门 splay模板 优质讲解 我只是发一个模板... 我太弱了讲不清 注意操作时可能会访问到最小值的前驱或最大值的后继 所以要多加入两个虚节点INF和 -INF防止越界 #include<cstdio> #include<cstring> #include<cmath> #include<alg 阅读全文
posted @ 2018-10-11 09:38 LLTYYC 阅读(240) 评论(0) 推荐(0)