主席树
cervoliu
这个作者很懒,什么都没留下…
展开
-
【TJOI & HEOI 2016】【BZOJ 4556】【JZOJ 4614】 游戏
Description Analysis题解法是离线的啊 可是此题可以在线做 先把SA弄出来。 然后对于每个询问,二分答案,转化为判定性问题。 然后,再二分出与suffix(c)的LCP>=mid的左右边界。 问题变成在左右边界中是否能找到[a,b-mid+1]开始的。 这个的话,主席树就好了嘛 O(mlog22n)O(mlog_2^2n)Code#include<cstdio> #原创 2016-07-13 16:40:54 · 474 阅读 · 0 评论 -
可修改区间k-th number
可修改区间k-th number的介绍 不带修改的区间k-th number这个众所周知了。可以用主席树实现。 具体的话其实就是开nn棵权值线段树,动态开节点,由于每次增加一个点最多只会新建log2nlog_2n个点,所以空间复杂度为O(nlog2n)O(nlog_2n)。 我们在权值线段树上记录该范围数的出现次数,然后可以发现查询的两个区间端点的线段树信息可以相减,于是就可以线段树上二分了。原创 2016-07-18 10:21:59 · 601 阅读 · 0 评论 -
[JZOJ4940]前鬼后鬼的守护/[JZOJ4623]搬运干草捆
神题力荐! 详解戳这里(Author:a_crazy_czy) 转载是因为自己写不出这么高质量的blog,又必须Mark下来 同时也贴上另一种解法 Author: YxuanwKeith转载 2017-07-16 11:43:42 · 454 阅读 · 0 评论 -
【typical】【JZOJ 5296】Sequence
Description Analysis努力寻找突破口,整体二分 关于CDQ分治与整体二分,很多人都不能分清它们(包括本Konjac),因为思想极其相似。网上看来的:cdq分治是用[l, mid]更新[mid+1,r],整体二分根据[l,mid]来把询问的答案划分给[l,mid]或者[mid+1,r] Code#include<cstdio> #include<cstring> #includ原创 2017-08-17 21:41:07 · 355 阅读 · 0 评论