【入门】序列
比赛已经结束。新提交将被视为补题提交,不计入比赛成绩。
[入门] 序列
对于一个只由 0 和 1 构成的字符串 ,我们定义这个字符串的 K 值是 中 0 的个数减去 1 的个数,比如:
- s = "11000",那么 的
K值为 1( 中有 个0, 个1,) - s = "10101",那么 的
K值为 -1( 中有 个0, 个1,)
现在我们有一个序列 ,由 个 1 和 个 0 构成,我们希望这个字符串的所有子串的 K 值的 最大值 恰好为 。请你构造出符合要求的字符串 (题目保证 s 存在),如果有多个 满足要求,请输出 字典序最小 的那一个。
名词解释(如果知道 `子串` 和 `字典序` 的含义,可以跳过这一段):
子串:字符串 的子串是指,在字符串中任意选定 个位置 和 (),由 组成的字符串- 比如:s = "abc",那么 "a", "ab", "abc", "b", "bc", "c" 是 的 个子串
- 什么是
字典序?- 对于两个字符串 和
- 找到最小的 使得
- 如果 ,就说 的字典序小于 ;
- 如果 ,就说 的字典序小于 ;
- 如果找不到这样的 i, 那么 和 中长度小的数组,字典序更小
- 下面的例子都是 的字典序小于 的字典序
- s = "abc", t = "acb"
- s = "abc", t = "abcd"
输入格式
输入一行包含 ,表示 1 的个数, 0 的个数, 所有子串的最大 K 值
输出格式
输出一行表示满足条件切字典序最小的 01 字符串(题目保证有解)
2 3 2
00101
5 10 8
000000001010111
提示
【样例 1 解释】
- "00101" 的 个子串的
K值如下:- "0":
K值为 1 - "00":
K值为 2 - "001":
K值为 1 - "0010":
K值为 2 - "00101":
K值为 1 - "0":
K值为 1 - "01":
K值为 0 - "010":
K值为 1 - "0101":
K值为 0 - "1":
K值为 -1 - "10":
K值为 0 - "101":
K值为 -1 - "0":
K值为 1 - "01":
K值为 0 - "1":
K值为 -1
- "0":
- 其中最大
K值为 ,满足条件 - "10010":同样满足要求,但是字典序更大
【数据范围】
- 对于 的数据:
| 测试点编号 | 特殊性质 |
|---|---|
| 的数据 | |
| 的数据 | |
| 的数据 |