A7696 | Celester
时间限制2s
内存限制1024MB
通过 / 提交0/0
题目描述
接下来 $N$ 天的天气情况由字符串 $S$ 给出。
若 $S$ 的第 $i$ 个字符为
此外,你当前的幸福感为 $0$。
你可以执行以下操作任意多次(包括零次):
* 选择一个整数 $i$,满足 $1 \le i \le N$。
* 若第 $i$ 天天气为晴天,则将其改为雨天;若为雨天,则改为晴天。
* 然而,若你更改了第 $i$ 天的天气,则你的幸福感减少 $X_i$。
执行完所有操作后,你的幸福感将根据最终天气按如下规则增加:
* 对每个满足 $1 \le i \le N-1$ 的整数 $i$,若第 $i$ 天(修改后)为雨天且第 $i+1$ 天为晴天,则你的幸福感增加 $Y_i$。
求通过执行操作所能达到的最大幸福感值。
共给出 $T$ 组测试用例,请分别求解。
若 $S$ 的第 $i$ 个字符为
S,则第 $i$ 天为晴天;若为 R,则第 $i$ 天为雨天。 此外,你当前的幸福感为 $0$。
你可以执行以下操作任意多次(包括零次):
* 选择一个整数 $i$,满足 $1 \le i \le N$。
* 若第 $i$ 天天气为晴天,则将其改为雨天;若为雨天,则改为晴天。
* 然而,若你更改了第 $i$ 天的天气,则你的幸福感减少 $X_i$。
执行完所有操作后,你的幸福感将根据最终天气按如下规则增加:
* 对每个满足 $1 \le i \le N-1$ 的整数 $i$,若第 $i$ 天(修改后)为雨天且第 $i+1$ 天为晴天,则你的幸福感增加 $Y_i$。
求通过执行操作所能达到的最大幸福感值。
共给出 $T$ 组测试用例,请分别求解。
输入格式
输入从标准输入给出,格式如下,其中 $\mathrm{case}_i$ 表示第 $i$ 个测试用例:
> $T$
> $\mathrm{case}_1$
> $\mathrm{case}_2$
> $\vdots$
> $\mathrm{case}_T$
每个测试用例的格式如下:
> $N$
> $S$
> $X_1$ $X_2$ $\dots$ $X_N$
> $Y_1$ $Y_2$ $\dots$ $Y_{N-1}$
> $T$
> $\mathrm{case}_1$
> $\mathrm{case}_2$
> $\vdots$
> $\mathrm{case}_T$
每个测试用例的格式如下:
> $N$
> $S$
> $X_1$ $X_2$ $\dots$ $X_N$
> $Y_1$ $Y_2$ $\dots$ $Y_{N-1}$
输出格式
输出 $T$ 行。第 $i$ 行应包含第 $i$ 个测试用例的答案。
输入输出样例
输入 #1
5 6 SRRRSR 3 1 4 1 5 9 2 6 5 3 5 6 RSRSRS 10 10 10 10 10 10 1 1 1 1 1 2 RR 4 3 2 10 RSSRSSRSSR 75 49 79 37 16 9 38 49 69 54 23 100 73 63 66 23 51 65 67 20 SSSRSSSRRRRSSRSSRSSR 343191362 223147518 135066250 426658267 693515093 8023388 383375974 712283203 40447501 19870690 318452142 356265717 283999278 209219229 418603824 39363351 392058270 254796273 110117486 64951139 576697130 385986330 895027325 654885799 784214084 577658764 761714876 583039741 943991250 446493376 701505924 402891440 963636095 919408713 238125227 871191978 843843821 397910552 529447424
输出 #1
5 3 0 165 5201284760
**样例 1 解释:**
该输入包含五个测试用例。
对于第一个测试用例,例如,可通过执行以下操作使幸福感最大化:
* 将第 $3$ 天的天气由雨天(
* 此操作导致:第 $2$ 天为雨天、第 $3$ 天为晴天,幸福感增加 $Y_2 = 6$;第 $4$ 天为雨天、第 $5$ 天为晴天,幸福感增加 $Y_4 = 3$。
* 总幸福感为 $(-4) + 6 + 3 = 5$,即所能达到的最大值。
对于第二和第三个测试用例,不进行任何操作可能是最优策略。
对于第五个测试用例,请注意答案可能超出 $32$ 位整数类型的表示范围。
### 约束条件
* $1 \le T \le 10^4$
* $N$ 是介于 $2$ 和 $2 \times 10^5$(含)之间的整数。
* $S$ 是一个长度为 $N$ 的字符串,仅由字符
* $X_i$ 是介于 $1$ 和 $10^9$(含)之间的整数。
* $Y_i$ 是介于 $1$ 和 $10^9$(含)之间的整数。
* 单次输入中所有测试用例的 $N$ 值之和不超过 $2 \times 10^5$。
该输入包含五个测试用例。
对于第一个测试用例,例如,可通过执行以下操作使幸福感最大化:
* 将第 $3$ 天的天气由雨天(
R)改为晴天(S)。幸福感减少 $X_3 = 4$,此时各天天气变为:晴、雨、晴、雨、晴、雨。* 此操作导致:第 $2$ 天为雨天、第 $3$ 天为晴天,幸福感增加 $Y_2 = 6$;第 $4$ 天为雨天、第 $5$ 天为晴天,幸福感增加 $Y_4 = 3$。
* 总幸福感为 $(-4) + 6 + 3 = 5$,即所能达到的最大值。
对于第二和第三个测试用例,不进行任何操作可能是最优策略。
对于第五个测试用例,请注意答案可能超出 $32$ 位整数类型的表示范围。
### 约束条件
* $1 \le T \le 10^4$
* $N$ 是介于 $2$ 和 $2 \times 10^5$(含)之间的整数。
* $S$ 是一个长度为 $N$ 的字符串,仅由字符
S 和 R 组成。* $X_i$ 是介于 $1$ 和 $10^9$(含)之间的整数。
* $Y_i$ 是介于 $1$ 和 $10^9$(含)之间的整数。
* 单次输入中所有测试用例的 $N$ 值之和不超过 $2 \times 10^5$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?