AT_agc066_d.[AGC066D] A Independent Set
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个由 A 和 B 组成、长度为 N 的字符串 S。保证 S 中 A 的个数不超过 2N+1。此外,给定一个正整数序列 (x1, …, xN−1)。
你可以对该字符串重复进行如下操作:
- 选择满足 1≤i≤N−1 的整数 i,交换 S 的第 i 个字符和第 i+1 个字符。该操作的代价为 xi。
你的目标是使 S 中任意两个 A 不相邻。请你求出为达成目标所需的总代价的最小值。
有 T 组测试数据,请分别输出每组的答案。
输入格式
输入按以下格式从标准输入给出。
T
case1
⋮
caseT
每组测试数据格式如下:
N S x1 … xN−1
输出格式
请输出 T 行,第 i 行输出第 i 组测试数据中,为使 S 中任意两个 A 不相邻所需的最小总代价。
输入输出样例
输入#1
5 4 BAAB 3 4 5 5 BBBBB 1 2 3 4 7 BAAABBB 8 7 6 5 4 3 7 BAAABBB 100 7 6 5 4 3 20 BAABAABBBABAAABBBABB 12 85 37 44 25 14 36 29 71 53 15 47 13 80 14 74 53 76 19
输出#1
3 0 13 15 133
说明/提示
限制条件
- 1≤T≤105
- 2≤N≤106
- S 是由
A和B组成的长度为 N 的字符串。 - S 中
A的个数不超过 2N+1。 - 1≤xi≤106
- 所有测试数据中 N 的总和不超过 106。
样例解释 1
- 对于第 1 组测试数据,通过对 i=1 进行操作,S 由
BAAB变为ABAB,目标达成,总代价为 x1=3。 - 对于第 2 组测试数据,不进行任何操作即可达成目标,总代价为 0。
- 对于第 3 组测试数据,通过对 i=1、i=4 进行操作,S 由
BAAABBB变为ABAABBB,再变为ABABABB,目标达成,总代价为 x1+x4=13。 - 对于第 4 组测试数据,通过对 i=4、i=3、i=5 进行操作,S 由
BAAABBB变为BAABABB,再变为BABAABB,再变为BABABAB,目标达成,总代价为 x4+x3+x5=15。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?