题目链接: http://poj.org/problem?id=1961 分析: 给出一个字符串长度为N,从左变开始取2~N个字符出来构成一个新字符串,若新字符串能被一个最短的循环节构成则输出新字符串的长度和循环节循环次数。 题解: 直接用Kmp里的SetNext()函数,求出该字符串里每一个字符的重复位置,用2~N长度减去以该长度为下标对应Next数组里的值即重复位置得到该两个重复出现字符间的长度,若字符串长度能被该长度整除则说明这段长度的字符是字符串的最短循环节,就可以输出。 AC代码: #include &l…

2016年7月15日 0条评论 0点热度 阅读全文