
主席树
samjia2000
I swear...
We are INFINITE.
展开
-
可修改主席树
前面讲完了主席树,那现在就来考虑可修改的主席树。 如果直接修改主席树,我们就需要用O(nlog2n)O_{(n log_2n)}的时间来逐个逐个修改,那么我们可否用更小的时间来修改呢? 我们之所以前面的主席树的修改时间如此大是因为每个rootiroot_i的主席树包含了root1,root2...rooti−1root_{1},root_{2}...root_{i-1}的主席树。 那么可不可以原创 2015-08-13 21:35:50 · 3697 阅读 · 0 评论 -
询问区间第k大(小)——主席树
例题 K-th Number You are working for Macrohard company in data structures department. After failing your previous task about key insertion you were asked to write a new data structure that would be abl原创 2015-08-13 07:47:42 · 2503 阅读 · 0 评论 -
bzoj3065带插入区间K小值
这题其实好像很难,但是听werkeytom_ftd说可以用块链水,于是就很开心地去打了个块状链表套主席树,插入操作就直接插到一个块中,注意如果块的大小2*block就将块分开,注意每一个修改或插入都要修改后继的状态,贴代码:#include<iostream>#include<algorithm>#include<cstdio>#include<cmath>#include<cstring>原创 2016-05-10 22:00:58 · 1457 阅读 · 1 评论 -
【NOI2010】超级钢琴
题目大意给出一个长度为n的序列,求所有长度在L到R之间的连续子序列的权值和的前k大的和解法首先将以每个点为开头的长度在L到R之间的序列的权值和最大的区间扔进堆里,每次拿出堆顶,然后再放入以当前点为开头的次大,如此类推,就可解决该问题了。 那么如何维护k大,下面介绍几种方法: 1、可持续化treap,每次移动一个点,相当于是一个框在移动,即加入一个,删除一个,每次直接查找就好了 2、可持续化线段原创 2016-07-14 11:45:44 · 953 阅读 · 0 评论