
Persistent Data Structures
文章平均质量分 86
wyfcyx_forever
这个作者很懒,什么都没留下…
展开
-
BZOJ3689 异或之
题目大意:给定n个非负整数A[1], A[2], ……, A[n]。对于每对(i, j)满足1 注:xor对应于pascal中的“xor”,C++中的“^”。思路:同NOI2010超级钢琴。http://blog.youkuaiyun.com/wyfcyx_forever/article/details/40400327我们只需一开始在全局堆中放进去每个数和他之后的数异或的最小值,然后原创 2014-10-23 16:52:50 · 1393 阅读 · 0 评论 -
BZOJ2006 [NOI2010]超级钢琴
题目大意:给定一个序列,求出k个这个序列的位置不完全相同的子序列,使得每一个子序列的长度均在[l,r]内,并且使得这些子序列的权值和最大。思路:每一个子序列的权值和可以转化为两个前缀和之差。我们考虑以每一个位置为结尾的子序列,它的权值和可以看作是以该位置为结尾的前缀和减去它前面的某个前缀和。那么想要这个子序列的权值和尽量大,那么就要前面的那个前缀和尽可能小。如果数目不够,就第2小。原创 2014-10-23 16:50:29 · 2639 阅读 · 1 评论 -
BZOJ3196 二逼平衡树 Solution
题意:写一个数据结构支持如下操作:(1)区间第k大(2)区间内求某个数的排名(3)修改某个位置的数(4)区间内求某个数的前趋、后继。Sol:以下提供两种做法。Sol1:线段树套平衡树。非常裸的做法,除询问区间第k大复杂度为O(log^3n),其余操作时间复杂度为O(log^2n).Code1:#include#include#include#defin原创 2014-10-02 14:20:49 · 1170 阅读 · 0 评论