题解:
外层权值线段树,内层区间线段树可解。
权值都是1~n,就不用离散化了。
我写了标记永久化。
其它心得神马的:
天生对树形数据结构无爱。
第一次写树套树,终于知道是怎么回事了。
(只针对本题)
就是外层每个点都表示了一段权值,
而它同时还是一颗线段树,
线段树里面记录了这段权值的出现区间、次数等等。
然后每次插入的时候
都是暴力地把该权值所在的...
分类:
其他好文 时间:
2015-01-22 18:22:20
阅读次数:
199
题解:CDQ分治做法暂时还没想到。。。树套树做法比较直观就直接上树套树吧。刚开始sb的写了两次查询,分别查找前面比它大的和后面比它小的。。。然后就11s卡着过了。。。货真价实的(倒)rank1。。。 1 #include 2 3 #include 4 5 #include 6 7...
分类:
其他好文 时间:
2015-01-22 15:00:26
阅读次数:
221
题目大意:给定一个矩阵,支持两种操作:
1.将某个子矩阵中的每个值增加一个数
2.询问某个子矩阵中的所有数的GCD 已知所有询问恒过定点(x,y)
算了BZOJ没有原题我还是把原题发上来吧- -
《论代码长度与注释长度以及题目简单程度的比例失调关系以及日本饮用水资源的解决方案》
《10K+代码是怎样炼成的》
《GCD与修改标记的正确用法》
《出题人我*你吗系列》
《...
分类:
其他好文 时间:
2015-01-07 13:16:40
阅读次数:
258
题目大意:维护一个序列,支持以下操作:
1.在某个位置插入一个数
2.删除某个位置上的数
3.修改某个位置上的数
4.求某段区间中的次大值与区间中另一个数的异或值的最大值
强制在线
替罪羊树套Trie树。。。终于尼玛A了。。。7.4KB的大代码啊- -
插入和修改同带插入区间k小值 删除要打标记不能直接删
删除的时候注意 删除导致的不平衡不要重建 否则复杂度无法保证
因此每个节点...
分类:
其他好文 时间:
2014-12-29 15:26:35
阅读次数:
119
题目大意:带插入,单点修改的区间k小值在线查询。
思路:本年度做过最酸爽的题。
树套树的本质是一个外层不会动的树来套一个内层会动(或不会动)的树。两个树的时间复杂度相乘也就是差不多O(nlog^2n)左右。但是众所周知,高级数据结构经常会伴有庞大的常数,所以一般来说树套树的常数也不会小到哪去。所以在做这种题的时候先不要考虑常数的问题。。。
为什么要用替罪羊树呢?因为一般的平衡树都是会...
分类:
其他好文 时间:
2014-12-24 21:38:17
阅读次数:
460
题目大意:给定一个序列,多次询问某一区间中出现且仅出现一次的最大的数
令第i个数左侧第一个与这个数相同的数为last[i] 右侧第一个与这个相同的数为next[i]
那么一个数a[i]在区间内出现一次当且仅当last[i]r&&l
于是我们将元素按照last[i]排序并构建可持久化线段树 令pos为满足last[i]
每次查询我要查询的是第pos个版本的线段树内所有next[i]>r的数中...
分类:
其他好文 时间:
2014-12-23 17:27:01
阅读次数:
1347
题目大意:给出一个数列,每次从这个序列中删掉一个数字,问每次删之前逆序对的数量是多少。
思路:这个题用CDQ分治是飞快的,然而我不知道怎么写。。于是就朴素的写了树套树。然后就朴素的被卡常了
内层用一个线段树。这个线段树不修改,一开始就要建好,然后线段树的每一个节点维护一个平衡树,存的是线段树存的区间中所有的值。
一开始先算一下逆序对数,然后每次删点的时候,先查询在这个点之前有多少大于...
分类:
其他好文 时间:
2014-12-23 17:25:53
阅读次数:
360
题目链接: BZOJ - 3110题目分析这道题是一道树套树的典型题目,我们使用线段树套线段树,一层是区间线段树,一层是权值线段树。一般的思路是外层用区间线段树,内层用权值线段树,但是这样貌似会很难写。多数题解都使用了外层权值线段树,内层区间线段树,于是我就这样写了。每次插入会在 logn 棵线段树...
分类:
其他好文 时间:
2014-12-18 22:00:17
阅读次数:
213
题意:Q次操作,三维空间内 每个星星对应一个坐标,查询以(x1,y1,z1) (x2,y2,z2)为左下顶点 、右上顶点的立方体内的星星的个数。注意Q的范围为50000,显然离散化之后用三维BIT会MLE。 我们可以用一次CDQ把三维变成二维,变成二维之后就有很多做法了,树套树,不会树套树的话还可以...
分类:
编程语言 时间:
2014-12-09 21:09:12
阅读次数:
254
题意:戳这里思路:可以用cdq分治(很明显这种模型妹纸分治法很解决)。。不过为了学习树套树特地写了一下。。 所谓的树套树也第一层(最外层)普通的维护的是一个node,而树套树维护的是一个数据结构(一棵树)。。 树套树一般可以解决2维模型。。1维的话也就是普通的数据结构了。 比如po...
分类:
其他好文 时间:
2014-12-03 01:45:41
阅读次数:
255