Pku acm 2406 Power Strings数据结构题目解题报告(十八)----kmp算法

原创 2008年04月29日 11:57:00
关于kmp算法,大家都非常熟悉,其涵义非常难懂,以至于我学习kmp算法的时候一直怀疑自己的智商,其具体思想,这里就不多说了,网上也有很多资料,我用的是严蔚敏老师的书,实现也是按说上的方法实现的,推荐大家把kmp算法彻底弄明白了再做poj相关的几道题:2406 Power Strings 1961 Period 2752 Seek the Name, Seek the Fame
该题的题意是这样的,给若干个字符串,判断该字符串最多重复了几次,比如,给ababab,结果是3,因为ab重复了3次,因为求最多重复了几次,所以结果不是1,在比如abcdabcd结果是2,abcd结果是1.
我们要根据kmp算法中的next函数来解决这个问题,以ababab为例加以说明:
String:ababab
Next: 0112345
这里根据后面的需要多计算了一位next值。
我们用ababab即作为主串有作为模式串来进行匹配,假设匹配到第7为时不匹配了(下标中1开始),要根据next[7](=5)的值继续匹配:
ababab*
ababab&
ababab*
 ababab
这样,我们用(length+1)-next[length+1]就是字符串向右移动的位数,在该例中为7-5=2.然后用总的长度除以这个向右移动的位数,如果能除尽的话,结果就是重复的次数,否则重复的次数为1.即:
if(length%((length+1)-next[length+1])==0)
                    count=length/(length+1-next[length+1]);
else
                    count=1;
在该例中为6/2=3.
因为这里的next下标从1开始,所以造成了对下标操作的复杂。
带有详细注释的代码可以在http://download.csdn.net/user/china8848/获得

Power BI快速进阶之旅

-
  • 1970年01月01日 08:00

Power Strings

Problem Description Given two strings a and b we define a*b to be their concatenation. For exampl...
  • xiaoxinxinev5
  • xiaoxinxinev5
  • 2017-02-13 16:38:31
  • 96

Pku acm 2406 Power Strings数据结构题目解题报告(十八)----kmp算法

关于kmp算法,大家都非常熟悉,其涵义非常难懂,以至于我学习kmp算法的时候一直怀疑自己的智商,其具体思想,这里就不多说了,网上也有很多资料,我用的是严蔚敏老师的书,实现也是按说上的方法实现的,推荐大...
  • china8848
  • china8848
  • 2008-04-29 11:57:00
  • 3931

Power Strings

题目来源:http://poj.org/problem?id=2406 应该是最简单的KMP的应用了,并且也是next数组最简单的应用了 开始做题的时候感觉是用到了next数组,但是确实没...
  • u014665013
  • u014665013
  • 2015-02-14 08:49:55
  • 993

POJ 2406 Power Strings

KMP第二题   这次知道了前缀数组的另一奇葩所在。 题目大意: 给出一个字符串,某个子串链接n次产生的,求最大的n。 这一看KMP算法正合适啊,就啪啪写上了,但是WA。之后发现...
  • lin375691011
  • lin375691011
  • 2014-03-31 20:40:40
  • 6416

Pku acm 2406 Power Strings数据结构题目解题报告(十八)----kmp算法

关于kmp算法,大家都非常熟悉,其涵义非常难懂,以至于我学习kmp算法的时候一直怀疑自己的智商,其具体思想,这里就不多说了,网上也有很多资料,我用的是严蔚敏老师的书,实现也是按说上的方法实现的,推荐大...
  • SUN704093334
  • SUN704093334
  • 2009-07-08 15:00:00
  • 947

【POJ2406】Power Strings 中文题意&题解&代码(C++)

kmp求循环节,nex数组的性质
  • DERITt
  • DERITt
  • 2016-02-29 15:42:38
  • 536

pku poj 2406

pku 123 <em>题目</em>代码 立即下载 上传者: lihao102 时间: 2008-09-11 综合评分:...pku <em>acm</em> 2406 <em>Power</em> <em>Strings</em>代码 立即下载 上传者: china8848 时间: 2008-04...
  • 2018年04月17日 00:00

pku acm 2406 Power Strings代码

  • 2008年04月30日 13:33
  • 689B
  • 下载
收藏助手
不良信息举报
您举报文章:Pku acm 2406 Power Strings数据结构题目解题报告(十八)----kmp算法
举报原因:
原因补充:

(最多只允许输入30个字)