#SX2026B. [省选联考 2026] 摩卡串Day1T2

[省选联考 2026] 摩卡串Day1T2

string

题目背景

小摩卡是个天才,尤其在字符串理论方面有着异于常人的天赋。为了赞颂她的才华,人们常常将那些满足特定优美性质的字符串命名为“摩卡串”。

题目描述

小 H 有一个长度为 nn 的 01 串 ss 和一个正整数 kk。他定义一个长度为 mm 的 01 串 t=t1tmt = t_1 \dots t_m摩卡串,当且仅当 tt 满足以下两个条件:

  • sstt 的子串,即存在 1lrm1 \le l \le r \le m 使得 s=tltrs = t_l \dots t_r
  • tt 中恰好有 kk 个子串的字典序严格小于 ss。两个子串不同当且仅当两个子串的长度不同或位置不同。形式化地,存在恰好 kk(l,r)(l, r) 满足 1lrm1 \le l \le r \le mtltrt_l \dots t_r 的字典序严格小于 ss

由于符合条件的摩卡串可能有很多,小 H 希望从中找出一个长度最短的摩卡串。你需要帮助他找出其中任意一个。

输入格式

本题包含多组测试数据。

输入的第一行包含两个非负整数 c,tc, t,分别表示测试点编号与测试数据组数。c=0c = 0 表示该测试点为样例。

接下来依次输入每组测试数据,对于每组测试数据:

  • 第一行包含两个正整数 n,kn, k
  • 第二行包含一个长度为 nn 的 01 字符串 ss

输出格式

对于每组数据,输出一行一个 01 字符串,表示任意一个长度最短的摩卡串。特别地,若不存在摩卡串,则输出 Impossible

输入输出样例 #1

输入 #1

0 5
1 1
1
1 1
0
3 9
101
4 17
1100
4 20
1100

输出 #1

10
Impossible
0101
011100
001100

说明/提示

【样例 2】

见选手目录下的 string/string2.instring/string2.ans

该样例满足测试点 464 \sim 6 的约束条件。

【样例 3】

见选手目录下的 string/string3.instring/string3.ans

该样例满足测试点 797 \sim 9 的约束条件。

【样例 4】

见选手目录下的 string/string4.instring/string4.ans

该样例满足测试点 101210 \sim 12 的约束条件。

【样例 5】

见选手目录下的 string/string5.instring/string5.ans

该样例满足测试点 131513 \sim 15 的约束条件。

【样例 6】

见选手目录下的 string/string6.instring/string6.ans

该样例满足测试点 161816 \sim 18 的约束条件。

【样例 7】

见选手目录下的 string/string7.instring/string7.ans

该样例满足测试点 19,2019, 20 的约束条件。

【数据范围】

对于所有测试数据,均有:

  • 1t51 \le t \le 5
  • 1n2001 \le n \le 2001k3,0001 \le k \le 3,000
  • 对于所有 1in1 \le i \le n,均有 si{0,1}s_i \in \{0, 1\}
测试点编号 nn \le kk \le 特殊性质
131 \sim 3 1515 200200 A
464 \sim 6 5050 2,0002,000 B
797 \sim 9 ^ ^ C
101210 \sim 12 D
131513 \sim 15 500500
161816 \sim 18 150150 2,0002,000 ^
19,2019, 20 200200 3,0003,000
  • 特殊性质 A:若存在摩卡串,则存在长度不超过 1515 的摩卡串。
  • 特殊性质 B:对于所有 1in1\le i\le n,均有 si=0s_i=0
  • 特殊性质 C:对于所有 1in1\le i\le n,均有 si=1s_i=1
  • 特殊性质 D:存在正整数 p[1,n]p\in [1,n] 满足 s1==sp=0s_1=\dots =s_p=0sp+1==sn=1s_{p+1}=\dots =s_n =1

附加文件下载

string.zip