题目链接 比如说上面\(|S|\)为12的字符串,我们欲求出\(f(9)\)的值,那么上面相同颜色的字符必须两两能够匹配.也就是说,同种颜色的字符集里不能同时出现0和1.如果只考虑同种颜色集里相邻的两个字符能否匹配,那么小样例都过不了.. 我们仔细观察就会发现,每隔\(|S|-len\)的位置就会出现相同的字符.我们可以认为长度为\(len\)的border实质上就是将长度为\(len\)的前缀向后偏移\(|S|-len\),看是否能匹配. 如果有两个字符\(s[i],s[j]\ (i<j)\)…