UVaLA 3026 Period MP算法
来源:互联网 发布:mysql 5.7.17.msi下载 编辑:程序博客网 时间:2024/05/17 03:08
点击打开题目链接
MP算法求失配函数
对于f [] 数组的定义如下:
1) f[j] = 0 j = 0,1
2) f[j] = max(k): 0<k<j P[0...k-1]=P[j-k,j-1]
#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int MAXN = 1000000 + 10;char P[MAXN];int n, f[MAXN];//失配函数求 f 数组void getFail(){ f[0] = f[1] = 0; //递推边界初值 for (int i = 1; i <= n; i++) { int j = f[i]; while (j && P[i] != P[j]) j = f[j]; f[i + 1] = P[i] == P[j] ? j + 1 : 0; }}int main(){ int kase = 0; while (~scanf("%d", &n) && n) { scanf("%s", P); getFail(); printf("Test case #%d\n", ++kase); for (int i = 2; i <= n; i++) if (f[i] > 0 && i % (i - f[i]) == 0) printf("%d %d\n", i, i / (i - f[i])); printf("\n"); } return 0;}
0 0
- UVaLA 3026 Period MP算法
- LA 3026(Period-MP算法)[Template:KMP]
- Period MP算法
- LA-3026 - Period-MP算法-失配函数-寻找循环节 (kmp)
- MP算法
- MP 算法 matlab实现
- MP和OMP算法
- MP 算法 matlab实现
- MP及OMP算法
- MP算法错误例子
- KMP(MP)算法详解
- 理解MP算法
- MP算法模板
- MP算法模板
- MP算法与OMP算法
- MP算法与OMP算法
- MP算法与OMP算法
- Period(KMP算法)
- SpringMVC4 + Spring + MyBatis3 基于注解的最简配置
- opencv URL
- php通过网页地址获取该地址下的内容
- Bash on Ubuntu on Windows ^_^
- 123
- UVaLA 3026 Period MP算法
- OpenCV4Android(AS)-1
- 【剑指offer-Java版】09斐波那契数列
- YT 督促训练 fzoj 2012Solve equation 各种进制转换为10进制
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- 如何减少Z-STACK Coordinator内存开销
- php 排序字典
- WCF 大数据传输问题
- Maven项目中找不到property文件