#CJM06C. [J模6] 回文(palindrome)

[J模6] 回文(palindrome)

题目描述

小 C 有一个长度为 nn 且由小写字母构成的字符串 SS。

小 C 现在可以对 SS 做一些变换,但变换是需要代价的,将字母 c1c_1 变成 c2(c1≠c2)c_2(c_1\ne c_2) 的代价为 vc2v_{c_2},其中 vv 是一个长度为 2626 的数组。(为了方便理解,规定字母 a 对应数字 11,字母 b 对应数字 22,以此类推)

小 C 在做上述变换前可以先选择两个位置并交换两个位置上的字母(该操作最多做一次且代价为 00),然后再将字母随意变换。

小 C 想要知道将 SS 变成回文串的最小代价,保证 2∣n2|n。

输入格式

输入第一行包含一个整数 nn,表示字符串的长度。

输入第二行包含 2626 个整数,表示代价数组 vv。

输入第三行包含一个字符串。

输出格式

输出共一行,表示将 SS 变为回文串的最小代价。

6
5 3 2 4 7 6 2 5 1 4 6 2 5 1 4 6 2 5 1 4 6 2 5 1 4 7
abbaaa
0
6
5 3 2 4 7 6 2 5 1 4 6 2 5 1 4 6 2 5 1 4 6 2 5 1 4 7
bbbaaa
2
20
5 3 2 4 7 6 2 5 1 4 6 2 5 1 4 6 2 5 1 4 6 2 5 1 4 7
luotianyirainybunnyl
9

数据范围

样例 1 解释

在变换前将第 33 个字母与第 55 个字母进行交换,SS 变为 abaaba,已经是一个回文串,所以最小代价为 00。

  • 对于 30%30\% 的数据,保证 n≤500n \le 500。
  • 对于 50%50\% 的数据,保证 n≤5000n \le 5000。
  • 对于另 30%30\% 的数据,保证 ∀1≤i≤n\forall 1\le i\le n,Si∈{a,b}S_i\in \{a,b\}。
  • 对于 100%100\% 的数据,保证 1≤n≤1061\le n\le 10^6,0≤vi≤1090\le v_i\le 10^9,nn 是偶数。
难度 未评定
通过率 —
尝试 0
通过 0
ID
3822
类型
传统题
Time Limit
1000ms
Memory Limit
256MiB
上传者