码迷,mamicode.com
首页 >  
搜索关键字:后缀数组    ( 1340个结果
bzoj 1031: [JSOI2007]字符加密Cipher 后缀数组
1031: [JSOI2007]字符加密CipherTime Limit: 20 SecMemory Limit: 256 MB题目连接http://acm.hust.edu.cn/problem/show/1590Description喜欢钻研问题的JS 同学,最近又迷上了对加密方法的思考。一天,...
分类:编程语言   时间:2015-05-07 23:24:59    阅读次数:141
SPOJ SUBST1 POJ 2406 POJ REPEATS 后缀数组小结
//聪神说:做完了题目记得总结,方便以后复习。 SPOJ SUBST1  题目链接:点击打开链接 题意:给一个字符串,求不同子串个数。 思路:假设所有子串都不同,答案为len*(len+1)/2;然而不是这样... 下面我们就找出重复的子串: 首先先将后缀排序,对于后缀i能生成len-sa[i]个子串,这其中有height[i]个子串与第i-1个后缀生成的子串重复了; 所以答案为 le...
分类:编程语言   时间:2015-05-07 22:11:58    阅读次数:175
[贪心+后缀数组] poj 3623 Best Cow Line, Gold
题意: 给N个字符,每次只能取第一个或者最后一个,问构成最小字典序的串是什么。 思路: 贪心,每次取字典序最小的串,的首字符。 其实就是l和r比较一下构成的串那个字典序小。 这里运用后缀数组要实现O(1)的查询。 将原串反拼进串内做da。 然后根据ra判断。 代码: #include"cstdlib" #include"cstdio" #include"cstring" #inc...
分类:编程语言   时间:2015-05-07 16:47:58    阅读次数:147
[BZOJ2754] [SCOI2012]喵星球上的点名解题报告|后缀数组
a180285幸运地被选做了地球到喵星球的留学生。他发现喵星人在上课前的点名现象非常有趣。 假设课堂上有N个喵星人,每个喵星人的名字由姓和名构成。喵星球上的老师会选择M个串来点名,每次读出一个串的时候,如果这个串是一个喵星人的姓或名的子串,那么这个喵星人就必须答到。然而,由于喵星人的字码过于...
分类:编程语言   时间:2015-05-05 15:47:13    阅读次数:145
[BZOJ2946] [Poi2000]公共串解题报告|后缀数组
给出几个由小写字母构成的单词,求它们最长的公共子串的长度。单词个数=L的区间中如果每个字符串的位置都出现过就可以 应该是第二次这么解决一道公共串的题了.. 然后发现了一些新的东西.. 比如之前处理没有的字符串处理了很久,这次我直接在每两个字符串间添加不同的字符 理由很简单: 对于原来就...
分类:编程语言   时间:2015-05-05 10:20:44    阅读次数:670
[codevs3160]最长公共子串解题报告|后缀自动机
给出两个由小写字母组成的字符串,求它们的最长公共子串的长度。 样例就觉得不能更眼熟啊...好像之前用后缀数组做过一次 然后发现后缀自动机真的好好写啊...(当然当时学后缀数组的时候也这么认为... 这道题直接把第一个串放到后缀自动机里 第二个串在上面做匹配,但是要注意匹配的时候不能乱搞...
分类:其他好文   时间:2015-05-05 08:46:37    阅读次数:198
BZOJ3238 [Ahoi2013]差异
首先把后缀数组和height数组都搞出来。。。然后用两个单调栈维护$[l, r]$表示对于一个点$x$,满足$height[x] \le height[l..x] \ \&\&\ height[x] 11 #include 12 13 using namespace std;14 typedef ....
分类:其他好文   时间:2015-05-03 23:27:36    阅读次数:148
使用后缀数组寻找最长公共子字符串JavaScript版
后缀数组很久很久以前就出现了,具体的概念读者自行搜索,小菜仅略知一二,不便讨论。 本文通过寻找两个字符串的最长公共子字符串,演示了后缀数组的经典应用。 首先需要说明,小菜实现的这个后缀数组算法,并非标准,只是借鉴了其中的思想。 小菜实现的算法,有两个版本,第一个是空间换时间,第二个是时间换...
分类:编程语言   时间:2015-05-01 18:34:01    阅读次数:151
【后缀数组】poj2406 Power Strings
连续重复子串(pku2406)给定一个字符串 L,已知这个字符串是由某个字符串 S 重复 R 次而得到的,求 R 的最大值。算法分析:做法比较简单,穷举字符串 S 的长度 k,然后判断是否满足。判断的时候,先看字符串 L 的长度能否被 k 整除,再看 suffix(1)和 suffix(k+1)的最...
分类:编程语言   时间:2015-04-28 13:21:14    阅读次数:166
【后缀数组】【二分答案】poj3261
注意:对整型数组求sa时,s[n]请置成-1。请离散化。可重叠的 k 次最长重复子串(pku3261)给定一个字符串,求至少出现 k 次的最长重复子串,这 k 个子串可以重叠。算法分析:先二分答案,然后将后缀分成若干组。 不同的是,这里要判断的是有没有一个组的后缀个数不小于 k。如果有,那么存在k ...
分类:编程语言   时间:2015-04-28 11:02:58    阅读次数:181
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!