码迷,mamicode.com
首页 > 其他好文 > 详细

Power string(poj 2406)

时间:2014-07-29 12:11:16      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:style   io   算法   line   size   text   字符串   poj   

题目大意,给出一个字符串s,求最大的k,使得s能表示成a^k的形式,如 abab 可以表示成(ab)^2;

方法:
首先 先求kmp算法求出next数组;如果 len mod (len-next[len])==0 ,答案就是 len /(len-next[len]),否则答案是1;
证明如下;
如果s能表示成 a^k的形式且k>1,k尽可能大,即s可以表示成aaaaaa(k个a);那么next[len]就等于k-1个a的长度;
aaaaaaa
  aaaaaaa
那么 (len-next[len])a的长度了;显然len mod (len-next[len]) =0, len /(len-next[len])就是k;
否则s不能表示成这样的形式 k=1;
证明完毕,虽然不是很严谨; 

Power string(poj 2406),布布扣,bubuko.com

Power string(poj 2406)

标签:style   io   算法   line   size   text   字符串   poj   

原文地址:http://www.cnblogs.com/vb4896/p/3874621.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!