POJ - 2406 题意: 给出一个字符串,要把它写成(x)n的形式,问n的最大值。 这题是求整个串的重复次数,不是重复最多次数的字串 这题很容易想到用KMP求最小循环节就没了,但是后缀数组也能写 后缀数组写法放在后面那一题,SPOJ - REPEATS是求子串类型,KMP就不好处理了 这里放下处 ...
分类:
编程语言 时间:
2019-08-09 23:37:22
阅读次数:
121
目的:在字符串T中查找字符串P的出现位置,预处理P字符串得到fail数组 时间复杂度:O(|P|+|T|) 自用模板: #include <iostream> #include <string.h> using namespace std; int Next[1110]; void get_Next ...
分类:
编程语言 时间:
2019-08-09 22:00:01
阅读次数:
109
Seek the Name, Seek the Fame "POJ 2752" 本题使用的算法还是KMP 最主要的片段就是前缀数组pi的理解,这里要求解的纸盒pi[n 1]有关,但是还是需要使用一个循环来依次找到前面符合的前缀(所谓符合就是可以保持既是前缀也是s的后缀的子串长度)。 include ...
分类:
编程语言 时间:
2019-08-09 13:13:20
阅读次数:
69
Power String "POJ 2406" 字符串压缩模板题,但是是求有多少个这样最短的子串可以组成s。 include include include include include using namespace std; const int N=10000001; int pi[N]; v ...
分类:
其他好文 时间:
2019-08-09 13:06:45
阅读次数:
64
参考博客: "KMP算法(kuangbin)" 另讲得比较好的博客或网站: "前缀函数与 KMP 算法" "KMP算法(研究总结,字符串)" cpp const int maxn=1e5; int Next[maxn]; / 求前缀数组 / / t[0]对应的Next数组值为Next[1] / / ...
分类:
编程语言 时间:
2019-08-09 01:53:37
阅读次数:
162
前提技能: "前缀数组" 参考博客: "KMP算法(kuangbin)" cpp const int maxn=1e5; int Next[maxn]; / 求前缀数组 / / t[0]对应Next[1] / / Next[0]= 1 / void getNext(string t) { int i ...
分类:
编程语言 时间:
2019-08-09 01:13:19
阅读次数:
90
题目描述思路分析测试用例Java代码代码链接题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式。 模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。 例如,字符串"aaa"与模式"a.a"和"ab*ac... ...
分类:
其他好文 时间:
2019-08-08 13:28:03
阅读次数:
86
http://acm.hdu.edu.cn/showproblem.php?pid=6629 板子题 ...
分类:
其他好文 时间:
2019-08-07 11:57:23
阅读次数:
95
"UVA 12467 Secret Word" kmp+二分,二分枚举答案的长度,用kmp判断是否合法 cpp include using namespace std; define rint register int define rll register long long define lon ...
分类:
其他好文 时间:
2019-08-07 10:45:20
阅读次数:
95
next数组和extend数组 设有字符串S,T,next[i]表示T[i...len]与T[0..len]的最长公共前缀,extend[i]表示S[i...len]与T[0...len]的最长公共前缀,扩展kmp要做的就是把extend数组求出来. 思路 假设当前在匹配到s串的i位置,设p=i,然 ...
分类:
其他好文 时间:
2019-08-06 15:37:11
阅读次数:
123