AC自动机&&KMP
数论只会GCD
研二在读
展开
-
HDU 1711 KMP 模板
KMP 入门题, 单模式串匹配#include <iostream> #include <cstring> using namespace std; const int N = 1000010; const int M = 10010; #define next Next int s[N], t[M], next[M]; int n, m;void getNext(){ next[0] =原创 2017-03-28 21:19:33 · 379 阅读 · 0 评论 -
POJ 1961 KMP求循环节判断循环
对于一个串, 假定在i处形成循环, 那么 next[i]应该是上一个循环节尾,所以i % (i - next[i]) == 0且next[i] > 0当前i - next[i]是最小循环节的长度. 代码:#include <iostream> #include <algorithm> #include <cstring> #include <string> #include <set> #inclu原创 2017-03-28 21:26:22 · 612 阅读 · 0 评论 -
POJ 2406 KMP
求串的最小循环节, 根据循环条件: n 为串长 那么 n - next[n]是n的约数 code: #include #include #include using namespace std; const int N = 1000010; char T[N]; int Next[N], len1; void getNext(){ len1 = strlen(T);原创 2017-03-29 18:36:26 · 403 阅读 · 0 评论 -
POJ 3461 KMP
题意求模式串在主串中出现的次数题解: 1. KMP匹配 2. 匹配完成后移位为串尾的next值code:#include <cstdio> #include <cstring> using namespace std;const int N = 1000010; const int M = 10010; char S[N], T[M]; int Next[M], len1;void getN原创 2017-03-29 18:40:26 · 495 阅读 · 0 评论 -
AC自动机入门-poj3461解法
前提 : 1. KMP 单模式匹配原理 2. 字典树结构失配函数获取: 1. 找当前点s的失配节点下标为c, 先找到找父节点f的失配节点fail[f], 如果fail[f]存在下标为c子节点, 那么fail[s] = ch[fail[f]][id] 不存在沿着失配指针回推fail[….fail[f]]直至根节点 2. 由于是树形, 所以一般采取bfs递推fail值, 而原创 2017-04-01 17:42:13 · 344 阅读 · 0 评论 -
HDU 2896 AC自动机
AC自动机模板 code: #include #include #include #include #include using namespace std; const int N = 60010; int ans = 0; char w[205], s[10010]; struct AC_Auto{ int ch[N][128], f[N], val[N], sz; vect原创 2017-04-02 14:10:12 · 482 阅读 · 0 评论 -
BZOJ 2938 | AOJ 844 AC自动机 + dfs
校赛上一题, 当时AC自动机没入门, 不过想到了验证环还。。。还好补上了题解 若存在无限长的串满足不和模式串匹配, 那么它在模式串的AC自动机(trie图)匹配的结果必存在环 所以这题是判断trie图(有向图)是否存在环的问题 对于每一次匹配有两种选择 顺配和进入fail指向的节点 匹配不能经过串尾, 也不能经过其fail指针指向的节点是另一模式串串尾的节点, 所以考虑合并fail指针指向节点的v原创 2017-04-03 16:40:25 · 495 阅读 · 0 评论 -
hdu 2222 AC自动机
传送门 : HDU 2222注意有相同模式串出现的可能, 且每个串最多记一次答案code:#include <iostream> #include <cstdio> #include <cstring> #include <string> using namespace std; #define clr(a) memset(a, 0, sizeof a)const int N = 10010 * 5原创 2017-05-05 19:47:59 · 379 阅读 · 0 评论