CF2004G.Substring Compression

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

我们定义对一个由至少 22 个 11 到 99 的数字组成的字符串 tt 的压缩操作如下:

  • 将其分割为偶数个非空子串——设这些子串为 t1,t2,…,tmt_1, t_2, \dots, t_m(因此 t=t1+t2+⋯+tmt = t_1 + t_2 + \dots + t_m,其中 ++ 表示连接操作);
  • 写下字符串 t2t_2 共 t1t_1 次,然后写下字符串 t4t_4 共 t3t_3 次,依此类推。

例如,对于字符串 "12345",可以这样分割:("1", "23", "4", "5"),然后写下 "23" 共 11 次,"5" 共 44 次,得到 "235555"。

定义函数 f(t)f(t),表示对字符串 tt 进行上述操作后,能够得到的最短字符串长度。

给定一个由 nn 个 11 到 99 的数字组成的字符串 ss,以及一个整数 kk。请计算 ss 的所有长度恰好为 kk 的连续子串的 ff 值。

输入格式

第一行包含两个整数 nn 和 kk(2≤k≤n≤2⋅1052 \le k \le n \le 2 \cdot 10^5)。

第二行包含字符串 ss(∣s∣=n|s| = n),仅由 11 到 99 的数字组成。

输出格式

输出 n−k+1n - k + 1 个整数,分别表示 f(s1,k),f(s2,k+1),…,f(sn−k+1,n)f(s_{1,k}), f(s_{2,k+1}), \dots, f(s_{n - k + 1, n})。

输入输出样例

  • 输入#1

    4 4
    5999

    输出#1

    14
  • 输入#2

    10 3
    1111111111

    输出#2

    2 2 2 2 2 2 2 2
  • 输入#3

    11 4
    49998641312

    输出#3

    12 18 17 15 12 7 7 2

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页