数据结构——可持久化数据结构
文章平均质量分 73
无
迷蒙之雨
这个作者很懒,什么都没留下…
展开
-
[FJOI2015]火星商店问题(线段树分治+可持久化01Trie)
洛谷题目传送门解题思路看到区间异或最大值,我们可以想到可持久化Trie树而看到动态的加入和删除,我们想到线段树分治因此把这两个结合起来就行了这个题和一般的线段树分治不太一样的的是,并不是物品有时间范围,而是查询有时间范围,我们知道最值问题是有可重叠性的,因此可以把每个询问的区间插入到时间线段树中,查询的时候我们可以先对物品按照商店编号排序,保证建立可持久化Trie树的时候更容易假设我们在线段树上遍历了某个区间,就把这个区间内的所有物品一起构建一颗可持久化0/1Trie,然后因为没有时间的限制,原创 2021-12-10 13:33:45 · 595 阅读 · 0 评论 -
字符串算法总结
(一) 后缀数组(SA)后缀数组是处理字符串的一大利器,常用倍增算法构造,一般情况下用到Height数组更常见重要性质1:两个后缀的最长公共前缀(记为lcp)为两个后缀在排名数组中两点间的Height值得最小值,常配合ST表或单调栈处理2:将后缀按照字典序排序后,第iii个后缀能贡献的本质不同子串个数为leni−Heightilen_i-Height_ileni−Heighti,且这些子串是按照字典序排序的因此可以得到一个字符串的本质不同子串个数为∑i=1nleni−Heighti\sum_{原创 2021-11-29 21:46:49 · 941 阅读 · 0 评论 -
NOIP复习计划(一)可持久化线段树(主席树)
为了迎接CSP/NOIP,我要开始复习NOIP的知识点不过有点手足无措,不知道从哪开始正好昨天讲了一道可以用主席树做的题,就来刷主席树的题这东西虽然联赛考的概率不大,但是如果遇到了一些其他问题我不会正解的,主席树可以代替一下,比如下面这道题[SHOI2007]园丁的烦恼题目传送门简化一下就是二维数点最经典的做法好像是扫描线,但是我不会所以就用CDQ分治或主席树写但是CDQ分治我不太会调,所以主席树是最好的选择[CTSC2018]混合果汁题目传送门题目要最大化果汁美味度的最小值,显然有原创 2021-10-04 21:52:48 · 118 阅读 · 0 评论 -
可持久化数据结构(一):可持久化Trie
近日学习了可持久化数据结构,因此特来总结一下,那就先从最简单的可持久化Trie开始吧!(虽然我理解这个的时间比主席树还久)一:可持久化Trie的用途正常的Trie树可以解决字符串的一些问题,特殊的Trie树(比如0/1Trie)可以解决最大异或和的相关问题,但是如果每次的询问是针对区间的,Trie树就不好解决,因为你不能对每个区间都建一棵Trie树,那样空间就会爆炸,于是,我们的可持久化Trie就登场了二:可持久化Trie的构造设trie[x][ch],表示从x号节点连向的字符为ch的点的编号(与普原创 2021-07-27 11:40:02 · 3004 阅读 · 0 评论