hdu1358 KMP循环节
来源:互联网 发布:sqlplus执行sql文件 编辑:程序博客网 时间:2024/05/21 10:36
#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <fstream>#include <algorithm>#include <cmath>#include <queue>#include <stack>#include <vector>#include <map>#include <set>#include <iomanip>using namespace std;#pragma comment(linker, "/STACK:102400000,102400000")#define maxn 1000005#define MOD 1000000007#define mem(a , b) memset(a , b , sizeof(a))#define LL long long#define ULL long longconst long long INF=0x3fffffff;char a[maxn];int Next[maxn];//ofstream ofile;int main(){ int cases=1 , m; while(scanf("%d",&m) != EOF && m) { scanf("%s" , a+1); mem(Next , 0); int num = 0; for(int i = 2 ; i <= m ; i ++) { while(num > 0 && a[num + 1] != a[i]) num = Next[num]; if(a[num+1] == a[i]) num++; Next[i] = num; } printf("Test case #%d\n",cases++); for(int i = 2 ; i <= m ; i ++) if(i % (i-Next[i]) == 0 && Next[i] != 0) printf("%d %d\n",i,i/(i-Next[i])); printf("\n"); } return 0;}
0 0
- hdu1358 KMP循环节
- hdu1358(KMP+最小循环节)
- HDU1358 Period KMP循环节问题
- [KMP求最小循环节][HDU1358][Period]
- HDU1358 Period(KMP,找循环节)
- hdu1358 最小循环节,最大循环次数 KMP
- hdu1358 kmp的next数组求循环节
- hdu1358 循环节
- hdu1358 Period (循环节)
- HDU1358 Period(KMP找循环前缀)
- hdu1358 KMP
- KMP HDU1358
- hdu1358 kmp
- HDU1358-kmp
- HDU1358-Period(kmp-求前缀长度和最小循环节长度 )
- Period hdu1358 KMP
- hdu1358 period ,Kmp
- hdu1358 Period kmp+模拟
- 关于取模和取余的区别。
- NYOJ-23 取石子(一)
- Error MSB6006: “mt.exe”已退出,代码为 31
- 黑马程序员 —— C语言之关键字
- C++重要性质04:虚拟函数与动态绑定
- hdu1358 KMP循环节
- mysqli的认识与应用
- spark入门教程(3)--Spark 核心API开发
- Windows下Python包的pip安装
- 机器学习简史
- [leetcode]319. Bulb Switcher
- leetcode——17——Letter Combinations of a Phone Number
- 解决Cordova开发iOS的app界面被状态栏覆盖的问题
- c++学习之同名隐藏