#SLT10C. 2026年S组模拟赛10连测第10场-T3 碑文切割

2026年S组模拟赛10连测第10场-T3 碑文切割

项目 内容
输入文件名 palpart.in
输出文件名 palpart.out
可执行文件名 palpart
每个测试点时限 1.0 秒
内存限制 512 MiB
测试点数目 20
是否等分 是

结果比较方式为全文比较(过滤行末空格及文末换行)。

题目描述

程老师要把一批残碑拓片装订成册。每张拓片上留下的是一串小写字母,装订前要先把这串字母按原顺序切成若干连续段——切开的位置只能落在相邻两个字母之间,切完后每段单独占一页。

切法有两个要求。第一,每一段都要正读反读相同;第二,受册页版心所限,每一段的长度都不能超过 LL。两个要求必须同时满足,一段都不能例外。

单字母本身就是正读反读相同的,所以不论碑文是什么、LL 取多少,总能一段一段地切下去。程老师想知道最少要切成几段。

输入格式

从文件 palpart.in 中读入数据。

  • 第一行两个整数 n,Ln, L,表示碑文长度与每段长度上限;
  • 第二行一个长度为 nn 的字符串 ss,只含小写字母。

输出格式

输出到文件 palpart.out 中。

  • 输出一行一个整数,表示最少段数。

样例

3 2
aab
2

样例 1 解释

切成 aa 与 b:aa 正读反读相同、长 22 不超过 L=2L=2,b 也满足,共 22 段。切成 a、a、b 要 33 段,不是最少;整串 aab 不是回文,切不开一段。

3 1
aab
3

样例 2 解释

每段长度不能超过 11,那么每一段都只能是单个字母,33 个字母只能切成 33 段。

4 2
abba
3

样例 3 解释

整串 abba 正读反读相同,但长 44,超过 L=2L=2,装不进一页。若切成 ab 与 ba,两段都不是回文;若切成 a、bb、a,三段都是回文且长度都不超过 22,共 33 段;切成 a、b、b、a 要 44 段。最少是 33。

数据范围

对于所有测试数据,保证:

  • 1≤n≤20001 \le n \le 2000,1≤L≤n1 \le L \le n;
  • ss 只含小写字母,且长度恰好为 nn。

各测试点的约束如下:

测试点 nn 特殊性质
1∼21\sim2 ≤10\le 10 无
3∼63\sim6 ≤50\le 50
7∼87\sim8 ≤300\le 300
9∼109\sim10 ≤500\le 500
11∼1411\sim14 ≤1000\le 1000
15∼1815\sim18 ≤2000\le 2000
1919 A
2020 B
  • 特殊性质 A:ss 只含同一种字母;
  • 特殊性质 B:L=1L = 1。
难度 未评定
通过率 —
尝试 0
通过 0
ID
3807
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者