#P9644. [SNCPC2019] 关灯(Turn It Off)

0

[SNCPC2019] 关灯(Turn It Off)

[SNCPC2019] 关灯(Turn It Off)

题目描述

现在已经是 21:30 了,宝宝该上床睡觉了。为了确保他的睡眠质量,宝宝决定关掉卧室里的所有灯。

宝宝的卧室里有 nn 盏灯,从 11 到 nn 排成一排。每次宝宝可以选择一个整数 ii,并将从第 ii 盏灯到第 (i+L−1)(i+L-1) 盏灯(包括两端)之间的所有灯关掉,其中 LL 是一个预定义的正整数。注意,每次操作的 LL 值必须相同。

给定所有灯的初始状态,请帮助宝宝确定可能的最小 LL 使得他能在 kk 次操作内关掉所有的灯。

输入格式

有多个测试用例。输入的第一行包含一个整数 TT,表示测试用例的数量。对于每个测试用例:

第一行包含两个整数 nn 和 kk(1≤k≤n≤2×1051 \le k \le n \le 2 \times 10^5)。

第二行包含一个字符串 ss(∣s∣=n|s| = n, s∈{‘0’,‘1’}s \in \{\text{`0'}, \text{`1'}\})表示灯的初始状态。设 sis_i 为字符串 ss 的第 ii 个字符,如果 si=‘1’s_i = \text{`1'},则第 ii 盏灯初始是亮的,否则是灭的。保证 ss 中至少有一个 1。

保证所有测试用例的 nn 之和不超过 2×1062 \times 10^6。

输出格式

对于每个测试用例输出一行,包含一个整数,表示可能的最小 LL。

样例输入 #1

2
10 4
0101011111
3 1
010

样例输出 #1

3
1

数据范围

对于 100%100\% 的数据,1≤k≤n≤2×1051 \le k \le n \le 2 \times 10^5,∑n≤2×106\sum n \le 2 \times 10^6,且每个字符串 ss 中至少包含一个 1。

知识点与难度

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


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例及最小边界测试
1 20 3~8 1≤T≤101 \le T \le 10,n≤1000n \le 1000
2 15 9~11 Hack 数据:k=1k = 1 且首尾均为 1(答案 nn)、k=nk = n(答案 11)、越界末端覆盖
3 30 12~20 ∑n≤106\sum n \le 10^6,n≤2×105n \le 2 \times 10^5
4 25 21~25 ∑n≤2×106\sum n \le 2 \times 10^6 多测极限压力测试

出处:原题链接