谁再管这玩意叫树状数组套主席树我跟谁急 明明就是树状数组的每个结点维护一棵动态开结点的权值线段树而已 好吧,其实只有一个指针,指向该结点的权值线段树的当前结点 每次查询之前,要让指针指向根结点 不同结点的权值线段树之间毫无关联 可以看这个:http://blog.csdn.net/popoqqq/a ...
分类:
编程语言 时间:
2016-10-06 14:54:41
阅读次数:
196
题目链接:传送门 题目大意:一个容量 n 的数组, m次询问,每次询问 [x,y]内不同数的个数 题目思路:主席树(注意不是权值线段树而是位置线段树) 也就是按一般线段树的逻辑来写只是用主席树实现而已 ...
分类:
其他好文 时间:
2016-10-03 23:31:33
阅读次数:
209
http://www.lydsy.com/JudgeOnline/problem.php?id=3065 思路:替罪羊树套权值线段树。 当替罪羊树某个子树大于某个比利(比例)时就暴力重构,本题时间复杂度:O(nlog^3n) ...
分类:
其他好文 时间:
2016-07-21 22:01:20
阅读次数:
164
主席树。 求a到b的路径可以看作a到根和b到根的路径的一部分。 对于每个节点,需要查询它到根路径各个数出现的次数。 如果对于每个节点都建一棵权值线段树,肯定会爆掉。 这时用主席树,该节点的权值线段树由父亲的权值线段树转移而来。 建树之前,要对整个数进行重标号,建树的时候才能保证父亲的树已经被建了。 ... ...
分类:
其他好文 时间:
2016-07-11 20:51:51
阅读次数:
236
权值线段树。 要求 L #include #include #define LL long long using namespace std; const LL inf = 10000000000ll; const int maxn = 100000 + 10; const int maxm = 8... ...
分类:
其他好文 时间:
2016-07-11 19:05:59
阅读次数:
117
看到题目就可以想到hash 然后很自然的联想到可持久化权值线段树 WA:base取了偶数 这道题还可以用莫队做,比线段树快一些 可持久化线段树: 1 #include<bits/stdc++.h> 2 #define ll long long 3 #define uint unsigned int ...
分类:
其他好文 时间:
2016-06-08 00:09:02
阅读次数:
286
外层维护权值线段树,内层维护kd-tree。 修改的时候只往右儿子里插入,不平衡的时候替罪羊式重构。 查询的时候在外层线段树上走,在内层kd-tree上查询矩形内点数即可。 时间复杂度$O(q\log v(\log^2q+\sqrt{q}))$。 ...
分类:
其他好文 时间:
2016-05-23 00:30:53
阅读次数:
295