题意:查找区间内不同数字的个数。两种做法,一种是 树状数组离线,另一种就是主席树。树状数组离线操作的链接http://www.cnblogs.com/oneshot/p/4110415.html两种方法思路差不多,都是扫一遍,如果这个数曾经出现过那么就 在上次位置-1,如果没有出现过就在 当前位置+...
分类:
其他好文 时间:
2014-11-21 15:57:34
阅读次数:
211
3545: [ONTAK2010]PeaksTime Limit:10 SecMemory Limit:128 MBSubmit:635Solved:177[Submit][Status]Description在Bytemountains有N座山峰,每座山峰有他的高度h_i。有些山峰之间有双向道路相...
分类:
其他好文 时间:
2014-11-21 07:59:45
阅读次数:
405
就是给一个数列,维护操作:(1)加一个数(2)求当前全部数的第K大。。。看了Claris大爷的做法深有启发,于是替蒟蒻的替罪羊树的第一次就没了。。。写完才发现。。。Orz主席树怎么忘了、、、貌似实现更简单啊!!!不管了QAQ 1 /*********************************....
分类:
其他好文 时间:
2014-11-16 21:28:32
阅读次数:
221
我kao终于搞定了。。。总之妹子序列比妹子树好些。。。妹子树至今还不会。。。这题就是强制在线的区间逆序对个数。。。神马主席树的太高端了。。。早忘了。。。额T T(怪我咯?> 11 #include 12 #include 13 #include 14 #include 15 16 #de...
分类:
其他好文 时间:
2014-11-16 10:38:13
阅读次数:
173
求区间第k大数是多少
用我惯用的线段树写法似乎不适合写主席树,看别人的代码好半天才看懂
用root表示每一个前缀树的根,思想大致是由第i-1个树构成的树建第i个树,由于加入一个数只需要log级别修改,所以建树效率很高。
主席树的精髓在于可持续化,就是说之前区间的信息不去修改它,递推加入新元素的时候,要新开log个空间来存储。因为主席树本身比较占用空间,只需改变这些空间的指向就可以重复利用不变...
分类:
其他好文 时间:
2014-11-15 18:54:35
阅读次数:
136
3744: Gty的妹子序列Time Limit:15 SecMemory Limit:128 MBSubmit:101Solved:34[Submit][Status]Description我早已习惯你不在身边,人间四月天 寂寞断了弦。回望身后蓝天,跟再见说再见……某天,蒟蒻Autumn发现了从 ...
分类:
其他好文 时间:
2014-11-14 22:37:16
阅读次数:
341
Codeforces 484E Sign on Fence
题意:给n个高度为h的木板,连续放置。
然后询问l,r区间内,连续w个最小高度的最大值是多少。
做法:首先询问可以用二分答案,然后对于每个二分的值
我们需要建主席树来验证是否可行。
主席树主要实现功能,显然,如果把高度大于等于二分值ans
位置都置为1,其他位置置为0,那么我们只需要验证区间
l,r中是否有超过w个连...
分类:
其他好文 时间:
2014-11-10 15:36:48
阅读次数:
181
ZOJ上面这题内存限制太严格,裸的树套树主席树搞法过不去,BZOJ上面这个放的比较松,可以过。其实就是利用树状数组维护n颗主席树,然后利用前缀和性质求解第k大。#include #include #include #include #include #include #include #includ...
分类:
编程语言 时间:
2014-11-09 12:29:33
阅读次数:
315
今天第一次接触可持久化数据结构,还是有必要总结一下的。首先对于查找第k大的问题,先搞清楚怎么样通过利用N颗线段树来求解。如果是求全局第K大,那么可以把数字的值作为位置插入线段树,然后通过区间和+二分来找到第k个位置。因为是通过区间和来找第k大的,显然是满足前缀和性质的,所以查询l,r区间的第k打,就...
分类:
其他好文 时间:
2014-11-07 20:46:35
阅读次数:
216
2733: [HNOI2012]永无乡Time Limit:10 SecMemory Limit:128 MBSubmit:1167Solved:607[Submit][Status]Description永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将...
分类:
其他好文 时间:
2014-10-21 11:49:41
阅读次数:
156