博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
( KMP 求循环节的个数)Power Strings -- poj -- 2406
阅读量:6323 次
发布时间:2019-06-22

本文共 1210 字,大约阅读时间需要 4 分钟。

链接:

 

Power Strings
Time Limit:3000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u
Submit 

Description

Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc" and b = "def" then a*b = "abcdef". If we think of concatenation as multiplication, exponentiation by a non-negative integer is defined in the normal way: a^0 = "" (the empty string) and a^(n+1) = a*(a^n).

Input

Each test case is a line of input representing s, a string of printable characters. The length of s will be at least 1 and will not exceed 1 million characters. A line containing a period follows the last test case.

Output

For each s you should print the largest n such that s = a^n for some string a.

Sample Input

abcdaaaaababab.

Sample Output

143

Hint

This problem has huge input, use scanf instead of cin to avoid time limit exceed.
 
代码:
#include
#include
#include
#define N 1000007char S[N];int Next[N]; /// Next中存的是前缀和后缀的最大相似度void FindNext(int Slen, int Next[]) ///Next[i] 代表前 i 个字符的最大匹配度{ int i=0, j=-1; Next[0] = -1; while(i
View Code

 

 

转载于:https://www.cnblogs.com/YY56/p/4833391.html

你可能感兴趣的文章
2011 计算系数
查看>>
【电脑启动不了怎么办】
查看>>
Linq入门演练---(1)基本用法-分组,排序,内连接
查看>>
socket网页抓取源码
查看>>
使用angular.bootstrap() 完成模块的手动加载
查看>>
vim支持+python和+python3切换
查看>>
输入一个数,判断这个数是否是素数
查看>>
Qt学习之信号与槽(一)
查看>>
NPOI导出EXCEL
查看>>
Android Studio 设置自动生成单例代码
查看>>
hdu 1272 小希的迷宫 (并查集)
查看>>
【转载】软件开发人员助手 好工具分享
查看>>
进程间通信第二课--信号量 共享内存 消息队列
查看>>
put方式提交上传图片
查看>>
展开收缩效果
查看>>
【Android界面实现】使用PagerTabStrip实现有滑动标签的Viewpager
查看>>
【GeneXus】在WorkWithPlus中如何定义未被包含的页面属性?
查看>>
CHIL-SQL-MID() 函数
查看>>
python计算两个日期时间差
查看>>
Linux引导启动程序 - boot
查看>>