QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 64 MB مجموع النقاط: 100

#6860. 二进制数

الإحصائيات

Markyyz 正在学习二进制数。他的家庭作业里有一道简单的题目。

给定一个二进制数 $s_{1 \sim n}$($s_1$ 是最高位,$s_n$ 是最低位)。你需要执行恰好 $k$ 次操作:任意选择一个区间 $[l, r]$($1 \le l \le r \le n$)并翻转 $s_l, s_{l+1}, \dots, s_r$,换句话说,对于所有 $i \in [l, r]$,如果 $s_i$ 为 $0$ 则变为 $1$,如果 $s_i$ 为 $1$ 则变为 $0$。在 $k$ 次操作后,能得到的最大的二进制数是多少?

Markyyz 发现他想到的算法都没用,于是他向 SPY 求助。SPY 起初看不起这道题,但最终还是得到了 WA(错误答案)。你能帮他们找到正确的解法吗?

输入格式

第一行包含一个整数 $T$($1 \le T \le 6 \times 10^4$),表示测试用例的数量。

每个测试用例中: 第一行包含两个整数 $n, k$($1 \le n \le 10^5, 0 \le k \le 10^{18}$)。 第二行包含一个二进制数 $s_{1 \sim n}$($s_1 = 1, \forall i \in [2, n]: s_i \in \{0, 1\}$)。

保证在所有测试用例中,$\sum n \le 2.5 \times 10^6$。

输出格式

输出一行,包含一个长度为 $n$ 的字符串,表示经过 $k$ 次操作后能得到的最大的二进制数。

样例

输入样例 1

2
8 2
10100101
5 233333333333333333
11101

输出样例 1

11111101
11111

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.