字符串算法:字典树,kmp,manacher
Infinity_Izayoi
这个作者很懒,什么都没留下…
展开
-
coderforce #round117D (kmp)
题目链接:http://codeforces.com/problemset/problem/182/D题意:求两个字符串公共循环节的个数题解:利用kmp算法中的next数组求出两个字符串的最小循环节, 设字符串的长度为len,如果len%(len - next[len]) == 0就有最小循环节,最小循环节 = 原字符串.substr(0,len - next[len]),如果不等于0最小循环节就是原创 2016-07-16 14:36:13 · 272 阅读 · 0 评论 -
light OJ -DNA Prefix (字典树)
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=121897#problem/G题目大意:寻找所给字符串的 前缀*出现次数 的最大值题解:字典树,v[u]为结点出现次数,存字符串后利用搜索不断遍历所有有字母的点,找到最大值。此题因为只有4个字母,所以字典树的宽度应为4,如果为26会超出内存。AC代码:#include <cstdi原创 2016-07-16 17:05:16 · 269 阅读 · 0 评论 -
HDU - 1251 - 统计难题(字典树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251题解:字典树AC代码:#include <cstdio> #include <algorithm> #include <cstring> #include <cctype> #include <iostream> using namespace std;const int maxnode = 500原创 2016-07-15 15:03:28 · 285 阅读 · 0 评论 -
HDU - 2087 - 剪花布条(kmp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087题解:kmp计算不重叠的匹配次数AC代码:#include <iostream> #include <cstring> using namespace std; int nxt[10000]; int m , n, ans; string p , t; void getnext() { nx原创 2016-07-15 13:31:59 · 421 阅读 · 0 评论 -
HDU - 1711 - Number Sequence (KMP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711题解:用普通的kmp踩点过了。。。AC代码:#include <iostream> #include <cstring> using namespace std; int nxt[10000]; int m , n; int p[10500]; int t[1000001]; void getnex原创 2016-07-15 12:13:14 · 241 阅读 · 0 评论 -
coderforce 514C - Watto and Mechanism(字典树+dfs)
题目链接:http://codeforces.com/problemset/problem/514/C题目大意:先输入n个字符串,然后输入m个字符串,寻找n个字符串中有没有字符串满足只有一个字母和m中字符串不同的情况,有就输出YES,否则输出NO。题解:将n个字符串用字典树存进去,然后利用dfs进行搜索。 这里的dfs使用bool好做一些(我一开始使用的void,WA了两次,暂时没有什么好想法,欢原创 2016-07-18 14:04:36 · 281 阅读 · 0 评论