主席树
magic_sheep
这个作者很懒,什么都没留下…
展开
-
poj2104 主席树区间第k大
主席树裸题,过了好久都快忘了。主席树主要就是使多个线段树并行于一颗树中,保存的是一段区间内数字出现的个数,所以先离散化。对整个序列构造一个线段树,然后在线段树上不断找第 k 小在当前数字区间的左半部分还是右半部分。(类似于平衡树)数字的更改只影响了一条从这个叶子节点到根的路径,所以只有这条路径是新的,其他的都没有改变。比如对于某个节点,要往右边走,那么左边那些就不用新建,只要用个指针链到原树的此节点原创 2017-02-09 21:02:44 · 202 阅读 · 0 评论 -
BZOJ 4556 [HEOI 2016] str
学习了一下经典的在后缀数组上维护主席树的思想。 求出sa和height数组,以sa数组对原串建主席树,对每个询问二分答案出长度ans,然后只要在(c,c+len)的区间中查找是否有属于(a,b-len+1)的下表。出了几个小问题查了好久。开始用的cmath 里的log函数求RMQ 直接爆炸,还是自己手打吧。小样例全过了但交上去WA了,发现自己RMQ的st数组…st[maxn][20]… maxn原创 2017-02-10 17:09:41 · 312 阅读 · 0 评论 -
HDU 6704 K-th occurrence 后缀数组+主席树维护sa数组
You are given a string S consisting of only lowercase English letters and some queries. For each query (l,r,k), please output the starting position of the k-th occurence of the substring SlSl+1…Sr in ...原创 2019-08-28 17:53:38 · 220 阅读 · 0 评论