#B3810. [语言月赛 202307] 扶苏和串
[语言月赛 202307] 扶苏和串
题目背景
众所周知,每个月入门赛的字符串题都是扶苏来枚举 idea 出出来的。
题目描述
给定一个 01 字符串 ,你可以任选 的一个非空子串,把这个子串在 中翻转一次。
问你能得到字典序最小的字符串是什么?
形式化的,你可以选择一个区间 满足 ,构造一个串 满足:
$$t_i = \begin{cases}s_i, &i < l \text{ 或 } i > r \\ s_{r - (i - l)}, & l \leq i \leq r\end{cases} $$这里字符串的下标从 开始。
最小化字符串 的字典序。
输入格式
输入只有一行一个字符串,表示 。
输出格式
输出一行一个字符串,表示得到的字典序最小的字符串。
101
011
0010100
0000101
提示
样例 1 解释
,翻转下划线标出的子串,得到
样例 2 解释
,翻转下划线标出的子串,得到 。
数据规模与约定
下面用 表示输入字符串的长度。
- 对 的数据,。
- 对 的数据,。
- 另有 的数据, 只含字符 。
- 另有 的数据, 只含字符 。
- 对 的数据,。 只含字符 。