摘要: poj2406 http://poj.org/problem?id=2406 给定一个字符串,问最多是多少个相同子串不重叠连接构成。 KMP的next数组应用。这里主要是如何判断是否有这样的子串,和子串的个数。 next数组的作用是在匹配无法进行下去时,可继续匹配的位置。这就要求next[j]必须为满足str[1..next[j]] = str[j-next[j]+1..j]的最大值。对于串的每一个前缀都取满足条件的最大值,则next[len]的值即为前一个子串的尾位置。 例如ababab,next[4]的值为2,即指向第一个b,因为str[1..2] = str[3..4],同理next[6 阅读全文
posted @ 2012-02-04 22:08 追逐. 阅读(340) 评论(0) 推荐(0) 编辑