欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1849C.Binary String Copying
Binary String Copying
题目描述
给定一个由 个字符 和/或 组成的字符串 。
你需要制作 份该字符串的副本,记第 个副本为字符串 。然后,你对每个副本恰好执行一次操作:对于第 个副本,你将其子串 (即从第 个字符到第 个字符,包含两端)进行排序。注意,每次操作只影响一个副本,每个副本也只被操作一次。
你的任务是计算 这 个字符串中有多少个不同的字符串。注意,只有当至少有一个副本操作后与原始字符串 完全相同时,才需要计入原始字符串 。
输入格式
第一行包含一个整数 (),表示测试用例的数量。
每个测试用例的第一行包含两个整数 和 (),分别表示字符串 的长度和副本的数量。
第二行包含 个字符 和/或 ,表示字符串 。
接下来 行,每行包含两个整数 和 (),表示对第 个副本执行的操作。
所有测试用例中 的总和不超过 。所有测试用例中 的总和不超过 。
输出格式
输出一个整数,表示 这 个字符串中不同字符串的数量。
说明/提示
以第一个样例为例。下方为按照输入操作顺序得到的副本,带下划线的为被排序的子串:
- 101100 011100;
- 101100 011100;
- 101100 101100;
- 101100 101100;
- 101100 000111。
在 中共有三种不同的字符串:000111、011100 和 101100。
再看第二个样例:
- 100111 100111;
- 100111 001111;
- 100111 001111;
- 100111 010111。
在 中共有三种不同的字符串:001111、010111 和 100111。
由 ChatGPT 4.1 翻译
样例
3
6 5
101100
1 2
1 3
2 4
5 5
1 6
6 4
100111
2 2
1 4
1 3
1 2
1 1
0
1 1
3
3
1
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |