后缀平衡树
WorldWide_D
这个作者很懒,什么都没留下…
展开
-
hashit
题目大意你有一个字符串S,开始为空,现在有两种操作: 1. 在S后面加入一个字符c 2. 删除S最后一个字符(保证进行该操作时S不为空) 每次操作后输出当前S中有多少个不同的连续子串。操作数不大于100000在线做法这道题可以离线建trie,然后打个sam。(然而我打的是在线)在线维护字符串,维护插入、删除操作,很容易想到后缀平衡树。如果字符串是静态的,统计S中不同子串个数的经典做法是用后缀数原创 2016-10-06 19:19:26 · 808 阅读 · 0 评论 -
[bzoj3682]Phorni
题目大意给你一个字符串,初始长度为len,还有一个n个元素的序列P。接下来m个操作,有三种类型,分别是: 1. 在字符串前面加入一个字符 2. 修改P中一个元素的值 3. 询问对于所有i∈[l,r],S[L-P[i]+1..L]字典序最小的i(有多个则输出最小的i,L是当前字符串长度)Data Constraint对于 100% 的数据, 1≤n≤500000, 1≤m≤800000,1≤Pi原创 2016-10-09 20:52:53 · 874 阅读 · 0 评论