#CF1950E. 近乎最短重复子串
近乎最短重复子串
E. 近乎最短重复子串
时间限制:每个测试用例 秒 内存限制:每个测试用例 兆字节
给定一个长度为 、由小写拉丁字母构成的字符串 。 请找出最短的字符串长度 ,满足:将该字符串复制若干次后首尾拼接,可以形成一个与 长度相同的字符串,且新串与 最多只有一个位置的字符不同。
形式化描述
求出最小的 ,使得存在正整数 ,满足:
字符串 与 长度相等,且满足 的下标 的数量不超过 (即存在 个或 个这样的位置)。
输入格式
第一行包含一个整数 (),表示测试用例的数量。
对于每个测试用例:
- 第一行包含一个整数 (),表示字符串 的长度。
- 第二行包含一个由小写拉丁字母组成的字符串 。
保证所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出一行一个整数,表示满足条件的最短字符串长度 。
示例
输入
5
4
abaa
4
abba
13
slavicgslavic
8
hshahaha
20
stormflamestornflame
输出
1
4
13
2
10
注释
在第一个测试用例中,可以选取 , 将其重复 次得到 ,该串与 仅在第 个位置字符不同。
在第二个测试用例中,无法选取长度为 至 的 。 可以选取 ,此时 与 完全相同。