欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1706A.Another String Minimization Problem
Another String Minimization Problem
题目描述
你有一个长度为 的序列 ,其中每个元素都是 到 之间的整数。你还有一个由 个字符 B 组成的字符串 。
你将进行如下 次操作:
- 在第 次操作()时,你可以将 的第 个字符或第 个字符替换为 A。在所有操作过程中,你可以多次替换同一个位置的字符。
请你求出经过这 次操作后,能够得到的字典序最小的字符串。
如果两个长度相同的字符串 和 ,在第一个不同的位置, 的字母在字母表中比 的字母靠前,则称 的字典序小于 。
输入格式
第一行包含一个整数 (),表示测试用例的数量。
每个测试用例的第一行包含两个整数 和 (),分别表示序列 的长度和字符串 的长度。
第二行包含 个整数 (),表示序列 。
输出格式
对于每个测试用例,输出一个长度为 的字符串,即你能得到的字典序最小的字符串。字符串中的每个字符应为大写英文字母 A 或 B。
说明/提示
在第一个测试用例中,序列 。一种可能的方案如下:
- 第 次操作,你可以将 的第 个字符替换为 A。此时 变为 ABBBB。
- 第 次操作,你可以将 的第 个字符替换为 A(因为 )。此时 变为 ABBBA。
- 第 次操作,你可以将 的第 个字符替换为 A。此时 变为 ABABA。
- 第 次操作,你可以将 的第 个字符替换为 A。此时 仍为 ABABA。
最终得到的字符串为 ABABA。无法得到字典序更小的字符串。
在第二个测试用例中,你只进行一次操作。你可以将 的第 个字符或第 个字符替换为 A。你可以得到 BABBB 或 BBBAB,其中 BABBB 的字典序最小。
在第三个测试用例中,唯一能得到的字符串是 A。
在第四个测试用例中,你可以将 的第 个和第 个字符替换为 A,得到 AABB。
在第五个测试用例中,你可以将 的第 个和第 个字符替换为 A,得到 ABABBBB。
由 ChatGPT 4.1 翻译
样例
6
4 5
1 1 3 1
1 5
2
4 1
1 1 1 1
2 4
1 3
2 7
7 5
4 5
5 5 3 5
ABABA
BABBB
A
AABB
ABABBBB
ABABA
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |