码迷,mamicode.com
首页 >  
搜索关键字:后缀数组    ( 1340个结果
Codeforces Round #246 (Div. 2) D. Prefixes and Suffixe 后缀数组
链接: codeforces.com/contest/432/problem/D 题意: 给你一个字符串,求每一个和前缀匹配的后缀在这个字符串中出现的次数 题解: 先算出lcp,找到sa[i]==0的位置标记为beg,和前缀匹配的后缀一定会出现beg的左边,这个想一想明白了 我们先算出beg左边每一 ...
分类:编程语言   时间:2017-09-15 13:53:04    阅读次数:195
bzoj3796
后缀数组+kmp+set 前两个条件很好搞,后缀数组求lcp然后看相邻两个后缀是不是分别属于不同的串,是的话所有lcp的max就是答案,但是现在有了第三个限制就很麻烦了。 我们先把第三个串在第一个串上跑kmp,把所有匹配位置的结束点放进set里,然后像之前一样查lcp,每次查的时候在set里查询当前 ...
分类:其他好文   时间:2017-09-15 10:06:50    阅读次数:107
HDU 6194 后缀数组
题意:求出现恰好 k次的子串(可以重叠)的个数; 分析: 刚开始想到了是后缀数组,但是有什么性质,具体怎么做的没有想到。回到主题来: 连续 k 次,说明这 k 个后缀排序后在一起,每次枚举 长度的为 k 的区间,用RMQ算出最长公共前缀长度,这里就有 len 个子串是 符合满足 k 次的,但是又有可 ...
分类:编程语言   时间:2017-09-14 21:36:56    阅读次数:228
Codeforces Round #244 (Div. 2) D. Match & Catch 后缀数组
链接: http://codeforces.com/contest/427/problem/D 题意: 给你两个字符串s1,s2,找出最短的子串出现在s1和s2中有且只有一次 题解: 还是把s1和s2连起来,求lcp。首先要知道得是,最短长度一定是sa数组中一定是相连的, 这样就只需要遍历一遍lcp ...
分类:编程语言   时间:2017-09-14 16:29:05    阅读次数:166
Long Long Message POJ - 2774
Long Long Message POJ - 2774 题意:求两个串的最长公共字串。 用特殊符号连接两个字符串,后缀数组。 枚举height,如果sa[i]和sa[i-1]分别属于不同的串,则更新最大值。 1 #include <iostream> 2 #include <cstdio> 3 # ...
分类:其他好文   时间:2017-09-14 14:54:32    阅读次数:253
[tyvj1860]后缀数组
P1860 后缀数组 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 我们定义一个字符串的后缀suffix(i)表示从s[i]到s[length(s)]这段子串。 后缀数组(Suffix array)SA[i]中存放着一个排列,满足suffix(sa[i]) ...
分类:编程语言   时间:2017-09-13 20:19:57    阅读次数:262
POJ 3415 后缀数组
链接: http://poj.org/problem?id=3415 题意: 统计A和B长度不小于K的公共子串个数。 题解: 将A和B拼接后,利用单调栈累计分属两者的后缀对应的LCP-K+1即为答案 代码: ...
分类:编程语言   时间:2017-09-13 00:18:14    阅读次数:196
poj 1743 Musical Theme(后缀数组)
Musical Theme Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 30544 Accepted: 10208 Description A musical melody is represented as a sequen ...
分类:编程语言   时间:2017-09-12 22:05:27    阅读次数:179
SPOJ Repeats(后缀数组+RMQ)
REPEATS - Repeats no tags no tags A string s is called an (k,l)-repeat if s is obtained by concatenating k>=1 times some seed string t with length l>= ...
分类:编程语言   时间:2017-09-12 17:39:48    阅读次数:218
后缀数组的使用心得——POJ2774 最长连续公共子串
对于这道题,将两个字符串直接合并成为一个字符串,分别记录连个字符串结束的位置。 首先,应用黑暗圣典的模板,我们可以顺利得到height,rank,sa三个数组。 之后直接扫描1-n所有的位置,选出来一个,符合“两者都在不同子串的最大长度即可”。 此时我们会发现,sa数组记录了每个子串开头的位置,可以 ...
分类:编程语言   时间:2017-09-12 12:15:58    阅读次数:243
1340条   上一页 1 ... 40 41 42 43 44 ... 134 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!