#B4371. [GXPC-S 2025] 序列 / sequence
[GXPC-S 2025] 序列 / sequence
题目背景
题目来源:2025 年广西中小学生程序设计挑战赛复赛(进阶组试题)。
题目描述
求知的隐士将知识传授给懵懂无知的凡人,隐士每年提出 个正确的观点和 个错误的观点,且 。其中正确的观点用数字 “1” 表示,错误的观点用数字 “0” 表示。例如,如果他提出了 3 个正确观点和 2 个错误观点,序列可能是 “11100” 或 “10101”。人们按序列的顺序讨论这些问题。
隐士定义,一条观点序列是好的:当且仅当序列中错误观点数量与正确观点数量之差为 。也就是说,。隐士同时注意到:当某个观点序列的所有子段中, 的最大值恰好是 时,人们获得知识的效果最好可理解。现在隐士希望小景编写一个程序,使他不必手造观点序列。
序列需恰好包含 个 1 和 个 0,并且所有子段的 的最大值恰为 。保证输出的数一定存在符合要求的序列。
形式化地,设某序列 包含 个 1 和 个 0,则 为:
所有子段构成集合 ,此时:
子段:原序列中一段连续的非空子序列。例如,假定原序列为 ,其子段有 ,,,,, 等。
字典序:对于数字,不同排列的字典序是从左到右依次对应的数字的先后决定的。例如对于 4 个数字的排列 1234 和 1243,排列 1234 在前(称为字典序更小),排列 1243 在后(称为字典序更大)。
输入格式
一行 3 个正整数 ,表示正确观点个数、错误观点个数和最优的 。
输出格式
输出满足条件且字典序最小的 01 字符串。
2 3 2
00101
5 10 8
000000001010111
提示
样例解释
- 对于样例 1 的解释:
取前 2 位(),可以取得所有子段的 的最大值,恰为 ,且字典序最小。
- 对于样例 2 的解释:
取前 8 位,可以取得所有子段的 的最大值,恰为 8,且字典序最小。
数据范围
- 对于 的数据:;
- 对于 的数据:;
对于 的数据,保证:
- ,;
- ,且 。