Atcoder ARC060 F
题意:给一个串,求将其分成最少的没有循环节的串的种数。
思路:先求KMP的\(fail\)数组。然后发现最少的串数只有三种可能:\(1\)、\(2\)、\(n\)。
然后就可以用KMP找原串的循环节,如果原串没有循环节,那么不用分。如果原串的循环节为\(1\),则要分成一个一个的,如果循环节为\(2\),则要看每个前缀和后缀是否有循环节,如果对于一个前缀即与之相邻的后缀都是无循环节的,那么答案数要\(+1\)。
题意:给一个串,求将其分成最少的没有循环节的串的种数。
思路:先求KMP的\(fail\)数组。然后发现最少的串数只有三种可能:\(1\)、\(2\)、\(n\)。
然后就可以用KMP找原串的循环节,如果原串没有循环节,那么不用分。如果原串的循环节为\(1\),则要分成一个一个的,如果循环节为\(2\),则要看每个前缀和后缀是否有循环节,如果对于一个前缀即与之相邻的后缀都是无循环节的,那么答案数要\(+1\)。