BIT+(可持久化)权值线段树, 用到了BIT的差分技巧. 时间复杂度O(Nlog^2(N))-----------------------------------------------------------------------------------------#include#inclu...
分类:
编程语言 时间:
2016-01-26 22:07:37
阅读次数:
315
平衡树系列最后一题坑啊10s时间限制跑了9764ms。。。还是要学一学bit套主席树啦。。。经典的线段树套treap。。。至于第一发为什么要TLE(我不会告诉你treap插入的时候忘了旋转 WOC)自认为treap写的挺好看的(欢迎来喷) 1 #include 2 #include 3 #in...
分类:
其他好文 时间:
2016-01-22 14:29:45
阅读次数:
209
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3123主席树+启发式合并。首先对于每棵树建主席树,然后合并的时候就把点数小的暴力插进点数大的那棵树里面。然后查询的话就在主席树上二分就可以了。注意点:在暴力重建的过程中边是确确实实要连的否则会丢失...
分类:
其他好文 时间:
2016-01-21 19:39:39
阅读次数:
217
【bzoj3524/2223】[Poi2014]Couriers2014年4月19日1,2571Description给一个长度为n的序列a。1≤a[i]≤n。m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。Inp...
分类:
其他好文 时间:
2016-01-20 06:20:58
阅读次数:
113
Orz黄学长,蒟蒻在黄学长的带领下,通过阅读黄学长的代码!终于会了这道题! 首先我想先说一下这道题的思路(准确来说是黄学长的)。 很明显,树状数组应该不用讲吧!关键是内存怎么开,维护一些什么样的数据? 其实我们通过观察,很快可以发现,你维护被删的数比维护所有的数轻松多了(不管是空间上,还是时间上.....
分类:
编程语言 时间:
2016-01-14 22:16:59
阅读次数:
314
树链剖分完就成了一道主席树裸题了, 每次树链剖分找出相应区间然后用BIT+(可持久化)权值线段树就可以完成计数. 但是空间问题很严重....在修改时不必要的就不要新建, 直接修改原来的..详见代码. 时间复杂度O(N*log^3(N))--------------------------------...
分类:
编程语言 时间:
2016-01-13 21:33:27
阅读次数:
449
裸的带修改主席树.. 之前用BIT套Splay(http://www.cnblogs.com/JSZX11556/p/4625552.html)A过..但是还是线段树好写...而且快(常数比平衡树小). 时空复杂度是O(Nlog(N)+Mlog^2(N))----------------------...
分类:
编程语言 时间:
2016-01-11 14:04:29
阅读次数:
358
把串倒过来插进trie上, 那么一个串的kpm串就是在以这个串最后一个为根的子树, 子树k大值的经典问题用dfs序+可持久化线段树就可以O(NlogN)解决------------------------------------------------------------------#inclu...
分类:
其他好文 时间:
2015-12-31 22:42:53
阅读次数:
272
第一次接触这种神奇的数据结构,感觉不错。有学了个好东西,也不难。他主要应该是针对于数据统计的,例如本题的第k大的数。算法的主要思想是 先对给定的数离散化,然后在线段树中保存数字出现的次数(即叶子节点会存该节点所对应的数字出现的次数,非叶结点则保存子节点的数字之和)(这就与我们普通的线段树不同了).....
分类:
其他好文 时间:
2015-12-29 14:20:38
阅读次数:
154
O(NK)暴力搞出所有子串的哈希值, 然后就对哈希值离散化建权值线段树, 就是主席树的经典做法了.总时间复杂度O(NK+(N+Q)logN)--------------------------------------------------------------------------#inclu...
分类:
其他好文 时间:
2015-12-20 11:37:20
阅读次数:
232