博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 2406 Power Strings
阅读量:6602 次
发布时间:2019-06-24

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

Power Strings
Time Limit: 3000MS   Memory Limit: 65536K
     

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.
求最短循环节的出现次数
求最短循环节长度的方法:
a=len-next[len]
若len%a==0 ,最短循环节长度为a
否则,没有循环节
#include
#include
#include
using namespace std;int n;char s[1000001];int f[1000010];void getnext(){ for(int i=1;i
>s) { if(s[0]=='.') break; n=strlen(s); getnext(); int ans=n-f[n]; if(n%ans) printf("1\n"); else printf("%d\n",n/ans); } }

 

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/6484712.html

你可能感兴趣的文章
DroidCam 一片 红色 解决办法
查看>>
用 Hexo + Next + GitHubPages 搭建漂亮的免费博客
查看>>
Pandas:按条件进行行选择
查看>>
spring boot 自定义规则访问获取内部或者外部静态资源图片
查看>>
springmvc + mybatis + ehcache + redis架构
查看>>
sed指定行范围匹配(转贴!)
查看>>
C#语音朗读文本 — TTS的实现
查看>>
Python正则表达式初识(十)附正则表达式总结
查看>>
APICLOUD 1.1.0 开发环境搭建
查看>>
《Cadence 16.6电路设计与仿真从入门到精通》——导读
查看>>
Confluence 6 如何让我的小组成员知道那些内容是重要的
查看>>
找到一个适合的分布式文件系统之各种分布式文件系统优缺点对比
查看>>
httpd基本配置
查看>>
索引失效的几个原因
查看>>
关于多线程中使用while做循环而不使用if的解释
查看>>
欢迎你,企业基础架构CCIE,RS CCIEv5.0的升级版新时代迎合自动化运维的网工顶级认证...
查看>>
js typoeof用法
查看>>
五险一金,你清楚吗?
查看>>
Ip核_fifo
查看>>
基础 JavaScript 实例
查看>>