欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1722D.Line
Line
题目描述
有 个人站成一排,每个人要么朝左看,要么朝右看。每个人会数出自己所看方向上有多少人。整排的价值定义为所有人的计数之和。
例如,在排列 LRRLL 中,L 表示该人朝左看,R 表示该人朝右看,每个人的计数分别为 ,总价值为 。
现在给定初始排列。对于每个 ,,你可以改变至多 个人的朝向,求整排的最大价值。
输入格式
输入包含多组测试数据。第一行包含一个整数 (),表示测试用例数量。
每个测试用例的第一行包含一个整数 (),表示排列的长度。
接下来一行包含一个长度为 的字符串,仅包含字符 L 或 R,表示每个人的朝向。
保证所有测试用例中 的总和不超过 。
请注意,某些测试用例的答案可能超出 32 位整数范围,因此你需要在程序中使用至少 64 位整数类型(如 C++ 的 long long)。
输出格式
对于每个测试用例,输出 个用空格分隔的非负整数,第 个数表示最多可以改变 个人朝向时,整排的最大价值。
说明/提示
在第一个测试用例中:
- :改变 1 个人的朝向,使排列变为 RLR,总价值为 。
- :改变 2 个人的朝向,使排列变为 RLL,总价值为 。
- :改变 2 个人的朝向,使排列变为 RLL,总价值为 。注意你最多可以改变 个人的朝向。
在第二个测试用例中,最优策略是始终只改变第一个人的朝向,对于所有 到 ,排列变为 RRRLL。
由 ChatGPT 4.1 翻译
样例
6
3
LLR
5
LRRLL
1
L
12
LRRRLLLRLLRL
10
LLLLLRRRRR
9
LRLRLRLRL
3 5 5
16 16 16 16 16
0
86 95 98 101 102 102 102 102 102 102 102 102
29 38 45 52 57 62 65 68 69 70
44 50 54 56 56 56 56 56 56
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |