题目传送门关于求解最长回文子串,有dp做法,也有同样n^2的但只用O(1)的空间,还有KMP,后缀数组?? 1 int main(void) { 2 while (scanf ("%s", str + 1) == 1) { 3 int len = strlen (st...
分类:
其他好文 时间:
2015-08-07 21:51:49
阅读次数:
119
总体思路是:
首先把给出的字符串按每次减少一个头部字符的方式存入vector中,然后开始在vector[0]中遍历以a开头的子串连续出现的次数。比较的方式为那vector[0]以a开头的一个字符和vector[1]内的比较 如果有 继续 没有 比较以ab开头的子串 。依次类推。
//vector向量中的插入str的后缀数组:
/*后缀数组如:abababc ,bababc...
分类:
其他好文 时间:
2015-08-06 22:31:49
阅读次数:
164
大致题意: 给出n个长度为60的DNA基因(A腺嘌呤 G鸟嘌呤 T胸腺嘧啶 C胞嘧啶)序列,求出他们的最长公共子序列使用后缀数组解决 1 #include 2 #include 3 char str[6200],res[6200]; 4 int num[6200],loc[6200]; ...
分类:
编程语言 时间:
2015-07-31 10:29:22
阅读次数:
155
ACM中常用算法—-字符串ACM中常用的字符串算法不多,主要有以下几种:
Hash
字典树
KMP
AC自动机
manacher
后缀数组
EX_KMP
SAM(后缀自动机)
回文串自动机
下面来分别介绍一下:0. Hash字符串的hash是最简单也最常用的算法,通过某种hash函数将不同的字符串分别对应到不同的数字.进而配合其他数据结构或STL可以做到判重,统计,查询等操作.
#### 字符串的h...
分类:
编程语言 时间:
2015-07-26 12:42:25
阅读次数:
297
后缀数组是一个处理字符串的有力工具,基本用途有模式串匹配和后缀最长公共前缀;例题
【JSOI 2007】【BZOJ 1031】字符加密ciper
后缀数组的躶体,现将字符串复制成环,然后输出sa[i]<lensa[i] \lt len的s[sa[i]?1]s[sa[i]-1]即可,code:#include
#include
#include<cstrin...
分类:
编程语言 时间:
2015-07-25 18:34:37
阅读次数:
141
在夏令营期间学习了作为一个字符串处理神器的后缀数组。bzoj1031 JSOI字符加密Cipher题目大意:给一个字符串,圈成圆圈,从任意位置断开,组成len个字符串,按字典序升序排序后,输出尾字母。思路:将字符串加倍后,对所有后缀排序,用后缀数组的思想,O(nlogn),输出的时候只要输出长度>=...
分类:
编程语言 时间:
2015-07-25 15:10:42
阅读次数:
140
http://acm.hdu.edu.cn/showproblem.php?pid=4691去年夏天,更多的学校的种族称号。当时,没有后缀数组今天将是,事实上,自己的后缀阵列组合rmq或到,但是,题意理解的一个问题,再折腾了很长时间,,,,此处简单解释下题目例子吧,希望对读者有帮助 以最后一组数据为...
分类:
编程语言 时间:
2015-07-23 23:09:49
阅读次数:
194
用后缀数组的思路实现求一个字符串中连续出现次数最多的子串
分类:
其他好文 时间:
2015-07-21 16:54:04
阅读次数:
75
点击打开链接题目链接
Long Long Message
Time Limit: 4000MS
Memory Limit: 131072K
Total Submissions: 23327
Accepted: 9566
Case Time Limit: 1000MS
Description
The litt...
分类:
编程语言 时间:
2015-07-20 23:49:22
阅读次数:
252
??
题意:给定一个字符串L,已知这个字符串是由某个字符串S 重复R 次而得到的,求R 的最大值。
做法比较简单,穷举字符串S 的长度k,然后判断是否满足。判断的时候,
先看字符串L 的长度能否被k 整除,再看suffix(0)和suffix(k)的最长公共
前缀是否等于n-k。在询问最长公共前缀的时候,suffix(0)是固定的,所以RMQ
问题没有必要做所有的预处理, 只需求出hei...
分类:
编程语言 时间:
2015-07-17 19:00:29
阅读次数:
184