#CF1029A. 相等子串构造(Many Equal Substrings)

0

相等子串构造(Many Equal Substrings)

相等子串构造(Many Equal Substrings)

题目描述

给定一个由 nn 个小写拉丁字母组成的字符串 tt,以及一个整数 kk。

我们定义字符串 ss 的子串 s[l…r]s[l \dots r] 表示从第 ll 个字符到第 rr 个字符的子串。

你的任务是构造一个最短的字符串 ss,使得恰好有 kk 个位置 ii 满足 s[i…i+n−1]=ts[i \dots i + n - 1] = t。换句话说,你需要构造一个最短的字符串 ss,使得恰好有 kk 个子串等于 tt。

保证答案唯一。

输入格式

输入的第一行包含两个整数 nn 和 kk(1≤n,k≤501 \le n, k \le 50),分别表示字符串 tt 的长度和子串的个数。

第二行包含一个长度恰好为 nn 的字符串 tt,由小写拉丁字母组成。

输出格式

输出一个最短的字符串 ss,使得恰好有 kk 个子串等于 tt。

保证答案唯一。

样例输入 #1

3 4
aba

样例输出 #1

ababababa

样例输入 #2

3 2
cat

样例输出 #2

catcat

数据范围

由 ChatGPT 4.1 翻译

知识点与难度

本题涉及的知识点从属于 GESP 8级,难度(CF Rating):1300。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 特殊性质: n=1 或 k=1 或全同字符
2 9~14 中等规模: 含长公共前后缀 Border 的周期串
3 25 15~20 大规模 n,k≤50 含多级嵌套 Border 的 Hack 数据
4 21~25 满规模 n=50, k=50 随机与周期混合测试

出处:原题链接