#CF1950E. Nearly Shortest Repeating Substring
Nearly Shortest Repeating Substring
题目描述
给定一个长度为 的字符串 ,该字符串仅由小写拉丁字母组成。请你找到最短字符串 的长度,使得可以将若干个(可能只需一个) 拼接起来,得到一个与 长度相同的新字符串 ,并且 与 至多只有一个字符不同。
更正式地说,要求找到最短的 ,使得存在正整数 ,满足 ,且 和 长度相同,并且 的位置最多只有一个(即最多有 或 个这样的下标 )。
输入格式
第一行包含一个整数 (),表示测试用例的数量。
每个测试用例的第一行包含一个整数 (),表示字符串 的长度。
每个测试用例的第二行包含一个仅由小写拉丁字母组成的字符串 。
所有测试用例中 的总和不超过 。
输出格式
对于每个测试用例,输出满足题意的最短字符串 的长度。
样例
5
4
abaa
4
abba
13
slavicgslavic
8
hshahaha
20
stormflamestornflame
1
4
13
2
10
样例说明
在第一个测试用例中,可以选择 ,此时 ,与 只在第二个位置不同。
在第二个测试用例中,不能选择长度为 或 的 。可以选择 ,此时 等于 。
由 ChatGPT 4.1 翻译
来源
Codeforces 1950E,英文题名 Nearly Shortest Repeating Substring。