#889. Radio Transmission 无线传输
Radio Transmission 无线传输
题目描述
给你一个字符串 s1,它是由某个字符串 s2 不断自我连接形成的(保证至少重复 2 次)。但是字符串 s2 是不确定的,现在只想知道它的最短长度是多少。
输入格式
第一行一个整数 L(1≤L≤10^6),表示给出字符串的长度。 第二行给出字符串 s1 的一个子串,全由小写字母组成。
输出格式
仅一行,表示 s2 的最短长度。
样例
输入样例 1
8
cabcabca
输出样例 1
3
输入样例 2
10
ababababab
输出样例 2
2
输入样例 3
12
aaaaaaaabbbb
输出样例 3
12
提示
样例解析:对于样例,我们可以利用 abc 不断自我连接得到 abcabcabcabc,读入的 cabcabca,是它的子串。
思路:题意很简单,在一个字符串中找出最小周期(的长度)。 一个字符串ababababab,ab就是一个周期 但这个周期在开头和结尾不一定是完整的,例如 字符串:a[bcabcabcab]c (输入的是子串:方括号内的部分) 周期:abc 周期判定是前缀函数(next数组)的最重要应用。 一个长度为 n 的字符串的周期长度 = n - next[n-1]。(下标从0开始)