A. 最频繁子串

    传统题 1000ms 256MiB

最频繁子串

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

最频繁子串

题目描述

给你一个长度为 NN 的字符串 SS ,由小写英文字母组成。

将长度为 KK 的字符串 tt 的出现次数定义为满足以下条件的整数 ii 的个数:

  • 1≤i≤N−K+11 \leq i \leq N-K+1
  • 从 ii -th字符到 (i+K−1)(i+K-1) -th字符的 SS 子串符合 tt 。

求长度为 KK 的字符串出现次数的最大值 xx 。同时,输出所有长度为 KK 、出现次数为 xx 的字符串,并按升序排列。

输入格式

第一行包含两个整数 NN 和 KK。

第二行包含一个长度为 NN 的字符串 SS。

输出格式

输出两行。

第一行应包含长度为 KK 的字符串出现次数的最大值 xx 。

第二行应包含所有长度为 KK 、出现次数为 xx 的字符串,按升序排列,中间用空格隔开。

输入输出样例 #1

输入 #1

9 3
ovowowovo


输出 #1

2
ovo owo



说明/提示

限制因素

  • N,KN, K 是整数。
  • SS 是长度为 NN 的字符串,由小写英文字母组成。
  • 1≤K≤N≤1001 \leq K \leq N \leq 100

样例一解释

以下字符串有两次出现:

  • 对于字符串 ovo, i=1,7i=1,7 满足条件,所以 ovo 出现的次数为 22 。
  • 对于字符串 owo, i=3,5i=3,5 满足条件,因此 owo 出现的次数为 22 。

长度为 33 的字符串中不存在出现次数超过两次的字符串,因此最大值为 22 。

另一方面,以下是出现次数少于两次的字符串示例:

  • 对于字符串 vow, i=2i=2 满足条件,因此 vow 的出现次数为 11 。
  • 对于字符串 ooo, 没有 ii 满足条件,因此 ooo 的出现次数为 00 。

【睿爸信奥】入门组算法周赛(20260315)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-3-15 0:00
结束于
2026-3-20 20:00
持续时间
3.5 小时
主持人
参赛人数
14