KMP标准模板
2020-04-02 18:36
489 查看
不会的b站找视频去不要对着模板浪费时间(大佬除外)
#include<iostream> #include<stdio.h> #include<string.h> #include<string> #include<cstring> using namespace std; int main(void) { int ne[1000005]; char p[1000005], s[1000005]; scanf_s("%s%s", s + 1, p + 1); ne[1] = 0; int n = strlen(s+1), m = strlen(p+1); for (int i = 2, j = 0; i <= m; i++)//忘得真快,妈蛋。这也有点双指针的意思 { while (j && p[i] != p[j + 1]) j = ne[j]; if (p[i] == p[j + 1]) j++; ne[i] = j; } int j,i; for ( i = 1, j = 0; i <= n; i++) { while (j && s[i] != p[j + 1]) j = ne[j]; if (s[i] == p[j + 1]) j++; if (j == m) { printf("%d\n",i - m + 1); j = ne[j]; } } for (int i = 1; i <= m; i++) printf("%d ", ne[i]); return 0; }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- hdu 1686(标准的kmp,可当模板)
- Kmp 算法模板 C
- KMP模板
- kmp模板
- 【字符串】【kmp模板】
- Duan2baka的KMP模板!
- [目前未找到题目]扩展KMP模板
- matlab的M-文件 S-函数的标准模板
- 洛谷—— P3375 【模板】KMP字符串匹配
- C++——KMP模板
- kmp.gcd.快速幂.判断素数模板
- HDU—2087—kmp模板
- KMP模板
- next函数与kmp模板
- KMP(1)--hdu2203(简单KMP模板)
- HDU 4333 浅谈扩展KMP 线性求NXT数组模板
- HDOJ 1711 Number Sequence(KMP模板题)
- hdu1711(kmp纯模板)
- KMP模板
- KMP模板