欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1605B.Reverse Sort
Reverse Sort
题目描述
题目共给出 组数据,每组数据包含一个正整数 和一个长度为 的 串 , 现在你需要在 中选出一个子序列,将这个子序列中的字符翻转(如字符串 , 选出子序列 , 翻转得到 , 放回原串中得到 ),使得翻转后的字符串字典序最小。
输入格式
第一行一个 , 表示样例组数。
每组一个正整数 和一个字符串 , 表示字符串的长度和你将要进行操作的字符串。
输出格式
对于每组数据,第一行输出需要操作的次数(一次提取和一次翻转总称为一次操作,若不需修改则输出 ,详见样例),若操作次数不为零,则在第二行输出:
第一个数字 ,表示需要提取出来的数字个数,后 个数字,表示提取出来的数字在原串中的位置(下标 + 1)
样例解释:
对于第一组样例,不需要进行任何操作,本身字典序最小,输出
对于第二组样例,需要进行一次操作,即将 中的 提取出来翻转,原串变为
对于第三组样例,需要进行一次操作,即将 中的 提取出来翻转,原串变为
样例
3
7
0011111
5
10100
6
001000
0
1
4 1 3 4 5
1
3 3 5 6
在线编程 IDE
建议全屏模式获得最佳体验
键盘快捷键
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |
第 1 行,第 1 列
0 字符
-
最近自测结果
暂未运行
最近递交结果
暂无递交记录