poj 2406 字串乘方

2021-08-04 09:57:49 字數 714 閱讀 6752

2406:字串乘方

總時間限制: 

3000ms 

記憶體限制: 

65536kb

描述給定兩個字串a和b,我們定義a*b為他們的連線。例如,如果a=」abc」 而b=」def」, 則a*b=」abcdef」。 如果我們將連線考慮成乘法,乙個非負整數的乘方將用一種通常的方式定義:a^0=」」(空字串),a^(n+1)=a*(a^n)。

輸入每乙個測試樣例是一行可列印的字元作為輸入,用s表示。s的長度至少為1,且不會超過一百萬。最後的測試樣例後面將是乙個點號作為一行。

輸出對於每乙個s,你應該列印最大的n,使得存在乙個a,讓s=a^n

樣例輸入

abcd

aaaa

ababab

.

樣例輸出

1

43

提示

本問題輸入量很大,請用scanf代替cin,從而避免超時。

#include#include#define n 1000000

char c[n];

int next[n];

int len;

void getnext()

else

j=next[j]; }}

int main()

return 0;

}

poj 字串乘方

kmp演算法的解釋 字串匹配的kmp演算法 簡單易懂 點選開啟鏈結 總時間限制 3000ms 記憶體限制 65536kb 描述給定兩個字串a和b,我們定義a b為他們的連線。例如,如果a abc 而b def 則a b abcdef 如果我們將連線考慮成乘法,乙個非負整數的乘方將用一種通常的方式定義...

poj2406 求主串的週期子串

題目大意 給出乙個字串,將其分解為若干子串的和,求可分解的最多子串的個數。做題之前就知道這是一道kmp的題目,但一直沒想到怎麼寫 後面看了下別人的思路 最近寫題總是會忍不住看別人的思路 慚愧。得出結論 乙個串的週期子串長度 主串長 next 主串長度 然後再用主串長除以週期子串長度就得到了子串週期長...

POJ 2406 字尾陣列 求連續重複子串

解法一 dc3求字尾 因為我用的是紅書的字尾模板,所以是倍增求的,所以這個dc3是用這個部落格的模板 這個也是勉強過的,時間為 2829ms了,寫得不機智就會超了。include include define n 2000005 define f x x 3 x 3 1?0 tb define g ...