日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > poj 2406 Power Strings【KMP】

poj 2406 Power Strings【KMP】

來源:程序員人生   發布時間:2014-12-20 09:11:27 閱讀次數:2941次
點擊打開題目
Power Strings
Time Limit: 3000MS   Memory Limit: 65536K
Total Submissions: 33548   Accepted: 13935

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

abcd aaaa ababab .

Sample Output

1 4 3

Hint

This problem has huge input, use scanf instead of cin to avoid time limit exceed.
題目翻譯意:給1個字符串S長度不超過10^6,求最大的n使得S由n個相同的字符串a連接而成,如:"ababab"則由n=3個"ab"連接而成,"aaaa"由n=4個"a"連接而成,"abcd"則由n=1個"abcd"連接而成。

解題思路:假定S的長度為len,則S存在循環子串,當且僅當,len可以被len - next[len]整除,最短循環子串為S[len - next[len]]
利用KMP算法,求字符串的特點向量next,若len可以被len - next[len]整除,則最大循環次數n為len/(len - next[len]),否則為1
#include<cstdio> #define maxn 1000002 char str[maxn]; int next[maxn],len,s; void GetNext(){ int i=0,j=⑴; next[0]=⑴; while(str[i]){ if(j==⑴||str[i]==str[j]){ ++i;++j;next[i]=j; }else j=next[j]; } len=i; } int main(){ while(scanf("%s",str)==1){ if(str[0]=='.') break; GetNext(); s=len-next[len]; if(len%s==0) printf("%d ",len/s); else printf("1 "); }return 0; }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 99久久一区二区三区 | 久久新视频 | 国产日韩欧美精品 | 91在线激情视频 | 久久国语 | www欧美| 国产视频一二区 | 日韩午夜免费视频 | 嫩草影院免费观看 | 国产精品国产精品国产专区不卡 | 成年人免费看 | 久久成人免费 | 国产成人aaaa | 麻豆乱码国产一区二区三区 | 麻豆视频免费看 | 成人永久免费视频 | 欧美日韩精品一二三区 | 99国产精品粉嫩初高生在线播放 | 日本欧美一区二区三区 | 国产精品视频在线观看 | a级黄色免费网站 | 亚洲成人www | 蜜桃一区二区三区 | 欧美在线亚洲 | 在线观看不卡av | 日韩在线免费视频 | 91精品国产综合久久久久久久久 | 国产美女一区二区三区 | 中文字幕一区二区av | a毛片| 欧美一区二区三区电影 | h亚洲 | 成人h精品动漫一区二区三区 | 国产日韩欧美一区 | 欧美日韩高清免费 | 一区免费看 | 国产一区二区av | 亚洲欧洲视频在线 | 色综合2 | 美女久久 | 久久久久无码国产精品一区 |