阅读背景:

poj3693(后缀数组+lcp+rmq)

来源:互联网 

求循环节个数最大的子串。

先穷举长度L,然后求长度为L 的子串最多能连续出现几次。首先连续出现1 次是肯定可以的,所以这里只考虑至少2 次的情况。假设在原字符串中连续出现2 次,记这个子字符串为S,那么S 肯定包括了字符r[0], r[L], r[L*2],r[L*3], ……中的某相邻的两个。所以只须看字符r[L*i]和r[L*(i+1)]往前和往后各能匹配到多远,记这个总长度为K,那么这里连续出现了K/L+1 次。先穷举长度L,然后求长度为L 的子串最多能连续出现几次。首




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: