![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构——后缀数组
倚剑笑紅尘
教练,我想学kaldi!
展开
-
后缀数组 (入门模板)
转载自:http://blog.csdn.net/u013480600/article/details/44763865#后缀数组 后缀数组就是把一个文本串的所有后缀按字典序从小到大排放的数组。详细介绍见刘汝佳《算法竞赛训练指南》。 AC自动机可以处理多模板的文本匹配问题,而后缀数组也可以处理多模板的文本匹配问题。那么它们有什么区别呢?转载 2017-08-10 15:10:04 · 460 阅读 · 0 评论 -
POJ 3261 Milk Patterns(后缀数组)
POJ 3261 Milk Patterns(后缀数组)http://poj.org/problem?id=3261题意: 给你一个长N的数字串和K,要你在数字串中找到那个最长的字串,该字串在原始串中至少出现了K次.问这个最长字串的长度.分析: 罗穗骞论文例题.这道题是后缀数组的一个简单应用。做法比较简单,只需要求height数组里的最大值即可原创 2017-08-10 16:31:33 · 175 阅读 · 0 评论 -
poj1743 Musical Theme(后缀数组)
题目链接:poj1743题目大意; 给你一个长为n的数字序列,要你求出该序列中最长的满足下面要求的序列长度:两个序列长度大于等于5原序列中存在不重叠的两个序列,这两个序列长度相同且将第一个序列的所有数字加上某个常数可以得到第二个序列. 本题可见罗穗骞《后缀数组——处理字符串的有力工具》.点击打开链接 首先我们要求的是长度至少为5的这种不重叠序列,原创 2017-08-10 17:45:14 · 180 阅读 · 0 评论 -
SPOJ 694 Distinct Substrings(后缀数组)
SPOJ 694 Distinct Substrings(后缀数组)题意: 给你一个长N的字符串,问你该字符串中出现了多少个不同的子串?分析: 论文例题.点击打开链接 每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相同的前缀的个数。如果所有的后缀按照suffix(sa[1]),suffix(sa[2]),suffix(s原创 2017-08-10 19:26:31 · 239 阅读 · 0 评论 -
Manacher算法,O(n)回文子串算法 以及模板题HDU3068最长回文串
Manacher算法,O(n)回文子串算法 这里,我介绍一下O(n)回文串处理的一种方法。Manacher算法.原文地址:点击打开链接 其实原文说得是比较清楚的,只是英文的,我这里写一份中文的吧。 首先:大家都知道什么叫回文串吧,这个算法要解决的就是一个字符串中最长的回文子串有多长。这个算法可以在O(n)的时间复杂度内既线性时间复杂度的情况下,求出以每个字符为中心转载 2017-08-10 21:03:19 · 199 阅读 · 0 评论 -
POJ 2774 Long Long Message(后缀数组:公共子串)
POJ 2774 Long Long Message(后缀数组:公共子串)http://poj.org/problem?id=2774题意: 给你两个长字符串,要你输出这两个字符串的最长公共连续子串长度.分析: 罗穗骞《后缀数组——处理字符串的有力工具》例题. 首先如果这两个长字符串存在某个最长的公共子串,那么该子串一定分别是这两原创 2017-08-10 21:43:37 · 206 阅读 · 0 评论 -
URAL 1517. Freedom of choice(后缀数组:最长公共连续子串)
URAL 1517. Freedom of choice(后缀数组:最长公共连续子串)题目链接:点击打开链接题意: 给你两个等长的串,求他们的最长公共连续子串.分析: 罗穗骞《后缀数组——处理字符串的有力工具》例题. 其实本题就是POJ2774的略微加强版: poj2774博客题解 这里要原创 2017-08-10 22:02:34 · 189 阅读 · 0 评论