题目描述 题解: 看到网上几乎全是树套树, 我就写了个整体二分。 其中操作1,2,3一般整体二分都能做到。 对于前驱,我们只需要在线段树中多维护区间最大值即可; 对于后继…… 通通取反后再跑一遍查询前驱即可。 然后迷之卡空间。 最后迷之卡过。 代码: ...
分类:
其他好文 时间:
2018-12-31 11:22:14
阅读次数:
187
"传送门" 这道题的做法……我学的是最经典的线段树套平衡树。 因为发现其实这题的题目描述和普通平衡树非常的相似……只是这次是在给定的区间中。所以我们能想象到用线段树维护区间,然后每个线段树的节点都是一颗平衡树,用于维护区间内信息。 具体操作的实现办法: 1.查询k在区间内的排名:在给定的区间的每一个 ...
分类:
其他好文 时间:
2018-12-29 01:10:26
阅读次数:
241
看起来整个题解区都没有一个leafy tree的题解,那我就来贡献一个吧 调了一个晚上的心血啊 下面是合并与分裂操作(文艺平衡树) 这是……树套树,也就是二逼平衡树qwq: include include define ls tree[node].l define rs tree[node].r d ...
分类:
其他好文 时间:
2018-12-25 20:07:34
阅读次数:
111
询问的化我们可以建主席树。然后修改?,树套树。。。,最后插入?炸了。 所以我们对操作进行分块。 我们先对整棵树建一个主席树。修改,插入我们先记录下来。然后询问的时候先对主席树查询,然后暴力遍历我们记录下来的修改插入操作。每$\sqrt{m}$次操作后我们重新构建一个主席树。这样我们保证了重建主席树和 ...
分类:
其他好文 时间:
2018-12-15 19:47:59
阅读次数:
173
前置知识: 普通主席树,树状数组 大概 待修主席树 和静态的一样 只不过还要加一颗树 来维护你修改的值 这棵树就是是树状数组,每个节点上再维护一颗动态开点线段树 (就是所说的树套树,不过没啥可怕的,就是麻烦一丢丢) 查询的时候老样子 不过要多加上树状数组中的值罢了 代码还算好些,如果 主席树,树状数 ...
分类:
其他好文 时间:
2018-12-12 00:18:45
阅读次数:
181
思路
听说可以CDQ分治,然后我不会,所以我写树套树
首先肯定先按照a拍个序。然后就成了在b,c这两个数组中查询了。用一个树状数组 ...
分类:
其他好文 时间:
2018-12-11 16:00:54
阅读次数:
219
最近学了学树套树,做了几道模板题。 ~~发现好像有点水~~ 咳咳咳。 树套树,顾名思义,一个树套一个树。比如树状数组套平衡树,就是把树状数组的每一个结点作为一颗平衡树,线段树套权值线段树,就是一颗线段树,每一个结点都是一颗权值线段树。。。 如果有一个问题是要求一个区间$[l,r]$中比$x$小的数有 ...
分类:
其他好文 时间:
2018-12-10 22:37:44
阅读次数:
213
题解: 和这件zhcs的那题有点像 第一种做法是考虑i,i+1之间的贡献 这样就是矩形加然后求矩形和 方法1:树套树 方法2:同下面讲的历史版本线段树 另一种做法是我们从左向右维护mx-nx-r+l 跟之前那题一样我们知道这个的最小值为0 另外我们只需要从右向左维护一个单调队列,这样区间取min/m ...
分类:
其他好文 时间:
2018-12-08 22:39:27
阅读次数:
178
第一眼以为是树套树qwq 然而n,m=i时, 左端点只要满足nxt[nxt[i]] include include include include include include include define N 4400000 define eps 1e 7 define inf 1e9+7 de ...
分类:
其他好文 时间:
2018-12-05 10:25:20
阅读次数:
155
前置技能:归并排序,树状数组。 cdq分治主要是用来离线解决一些奇怪的问题的。可以用来代替一些高级数据结构比如树套树或者KD-Tree之类的。。。 话说挑战2上的KD-Tree我到现在还没开始学。。。 cdq遇到在线的好像就死掉了?(雾 目前在博主的能力范围内: 主要用来解决多维(三维)偏序问题。 ...
分类:
其他好文 时间:
2018-11-28 01:10:24
阅读次数:
194