
主席树
Rayment_cc
++Rp
展开
-
BZOJ 3295 CQOI2011动态逆序对
ProblemBZOJSolution正解是cdq分治,然而我不会,就用了主席树,不过常数好像比较大,洛谷会T一个点,要开O2才能过。。首先如果统计序列的答案,用树状数组做就是nlogn,那么我们就先用其处理出初始答案 我们不妨考虑a[x]对于答案的贡献,那么就应该是前面比它大的数的个数+后面比它小的数的个数,每删去一个数减去即可。为了统计这个贡献,我们可以用主席树来解决。 ...原创 2018-04-26 22:25:46 · 215 阅读 · 0 评论 -
SPOJ TTM To The Moon 主席树区间操作+标记永久化
ProblemSPOJSolution这就没有什么好缩的了,板子题一道,只不过用了标记永久化的思想,就比较方便一些咯Code#include <cstdio>#define pushup(x) sum[x]=sum[lc[x]]+sum[rc[x]]using namespace std;typedef long long ll;const int ma...原创 2018-05-18 20:35:29 · 435 阅读 · 0 评论 -
BZOJ 3123 SDOI2013森林
ProblemBZOJSolution刚开始一看题目,竟然有连边操作,还强制在线,当时就懵逼了,难不成要lct套主席树,感觉很不可做那我们缩一缩树上主席树吧,这年头连树都要上树了,不过感觉主席树的题不需要动不动就链剖了23333 同样也是前缀的思想,树上的前缀就是从根到节点路径的前缀和了。 于是乎,对于一条路径在树上的答案,我们需要四个参数x,y,lca,f[lca],答案...原创 2018-04-28 11:27:15 · 188 阅读 · 0 评论 -
BZOJ 1146 CTSC2008网络管理
ProblemBZOJ权限题。。 良心洛谷Solution话说刚开始写了个链剖,发现复杂度是O(nlog3n)O(nlog3n)O(nlog^3n),有点方就全删了,后来题解说连log^4的splay都A掉了。 然后写了个树上主席树,发现复杂度搞错了,又重写了,才改成现在这个样子。。荒废了一上午qwqqq说正经的吧,就是动态查询路径上权值第k大。 首先我们考虑树上主席树,那么...原创 2018-04-28 11:51:50 · 285 阅读 · 0 评论 -
BZOJ 2653 middle CTSC
ProblemBZOJSolution这道题思路很神,感觉二分答案题愈发得神了起来。我们考虑如果选择x作为中位数,把序列中所有小于x的数标记为-1,大于的标记为1,那么询问x能否作为一段区间的中位数,就相当于询问是否存在一个区间使得区间和是大于等于0的。显然我们可以用线段树维护出一个最大区间和,那么直接查它是否大于等于0即可。而x是可以二分的。 除此之外对于每个数作为中位数,...原创 2018-04-28 17:04:49 · 211 阅读 · 0 评论 -
LOJ6435 PKUSC2018星际穿越
ProblemlojSolution一个显而易见的结论,对于一个xi,要到达1号节点的最优路径只有第一步可能往右走,后面的步必定是往左走。 那么我们可以dp出整个右边可以走到的最左边的位置mn[i],mn[i]显然小于i,而且如果这个最优位置不是出自i本身,那么也就意味着要往右走一步,再往左走。 先dp出最优的位置,然后i就继承mn[i]的答案,做一个区间修改即可,可以用主席树实现...原创 2018-06-18 20:37:16 · 758 阅读 · 0 评论 -
洛谷4755 Beautiful Pair
Problem洛谷Solution考虑分治,对于区间[l,r][l,r][l,r],找出其最大值的位置pospospos,那么就需要在左右找出乘积不大于其的对数。怎么找呢,考虑建出主席树,然后扫一遍较短的区间,找一下小于某个值的有多少即可。为什么这样的复杂度不会被卡到O(n2)O(n^2)O(n2)呢,因为一次分治的复杂度和其区间长度无关,所以应该这样来分析,对于一个区间如果被扫,说明当前...原创 2018-10-30 09:13:05 · 225 阅读 · 0 评论 -
BZOJ4556 HEOI2016 字符串
ProblemBZOJSolution我周围的聚聚一看就说这不是道SA的傻逼题吗……好吧,考虑用SAM怎么做。先对反串建出SAM,[a,b]中的所有子串不好处理,因为在parent数上代表的链实在太多了,所以考虑从子串[c,d]开始下手我们可以考虑二分lcp的长度,那么我们可以在O(logn)O(\log n)O(logn)的时间内找到这个子串所对应的节点,然后我们可以用主席树来查在...原创 2018-12-13 22:11:07 · 232 阅读 · 0 评论