后缀数组是指对于后缀排序后,每个后缀的位置:sa[rank]=pos:排名为rank的后缀是pos->len这个后缀 note:rank[pos]=rank:位置为pos的串排名为rank 白书上的代码简洁明了,很容易理解。 核心思想:我们对于每个位置开始的后缀,不直接计算,先计算从这个位置开始,向 ...
分类:
编程语言 时间:
2017-01-05 00:49:34
阅读次数:
239
【题目分析】 判断有多少个长度不小于k的相同子串的数目。 N^2显然是可以做到的。 其实可以维护一个关于height的单调栈,统计一下贡献,就可以了。 其实还是挺难写的OTZ。 【代码】 ...
分类:
编程语言 时间:
2017-01-04 00:10:03
阅读次数:
261
【题目分析】 用height数组RMQ的性质去求最长的公共子串。 要求sa[i]和sa[i-1]必须在两个串中,然后取height的MAX。 利用中间的字符来连接两个字符串的思想很巧妙,记得最后还需要空一个位置避免冲突。 【代码】 ...
分类:
编程语言 时间:
2017-01-03 23:59:30
阅读次数:
480
【题目分析】 其实找最长的不重叠字串是很容易的,后缀数组+二分可以在nlogn的时间内解决。 但是转调是个棘手的事情。 其实只需要o(* ̄▽ ̄*)ブ差分就可以了。 背板题。 【代码】 ...
分类:
编程语言 时间:
2017-01-01 18:53:52
阅读次数:
178
【题目分析】 后缀数组模板题。 由于height数组存在RMQ的性质。 那么对于一个后缀,与前面相同的串总共有h[i]+sa[i]个。然后求和即可。 【代码】(模板来自Claris,这个板子太漂亮了) ...
分类:
编程语言 时间:
2016-12-31 19:52:35
阅读次数:
165
Long Long Message Time Limit: 4000MS Memory Limit: 131072K Total Submissions: 29277 Accepted: 11887 Case Time Limit: 1000MS Description The little cat ...
分类:
编程语言 时间:
2016-12-30 02:15:44
阅读次数:
173
2119: 股市的预测 Description 墨墨的妈妈热爱炒股,她要求墨墨为她编写一个软件,预测某只股票未来的走势。股票折线图是研究股票的必备工具,它通过一张时间与股票的价位的函数图像清晰地展示了股票的走势情况。经过长时间的观测,墨墨发现很多股票都有如下的规律:之前的走势很可能在短时间内重现!如 ...
分类:
编程语言 时间:
2016-12-30 01:54:19
阅读次数:
312
1692: [Usaco2007 Dec]队列变换 Description FJ打算带他的N(1 <= N <= 30,000)头奶牛去参加一年一度的“全美农场主大奖赛”。在这场比赛中,每个参赛者都必须让他的奶牛排成一列,然后领她们从裁判席前依次走过。 今年,竞赛委员会在接受队伍报名时,采用了一种新 ...
分类:
编程语言 时间:
2016-12-30 01:43:27
阅读次数:
266
后缀数组裸题,每次的查询单调栈扫一遍就完了。为什么要写虚后缀树= =后缀数组不是自带虚树的结构么= = ...
分类:
其他好文 时间:
2016-12-29 19:27:46
阅读次数:
206
参考: Suffix array - Wiki 后缀数组(suffix array)详解 6.3 Suffix Arrays - 算法红宝书 Suffix Array 后缀数组 基本概念 应用:字符串处理、生物信息序列处理 后缀:学过英语的都知道什么叫后缀,就是从某个位置开始到字符串结尾的特殊子串,... ...
分类:
编程语言 时间:
2016-12-29 10:42:24
阅读次数:
284