AT_indeednow_2015_finalb_c Palindrome Concatenation
题目描述
Indeed 公司的一位员工 A 君正在提高他的字符串处理技巧。当前他面临的问题如下:
他希望通过拼接若干个回文串来构造一个给定的字符串 $S$。使用长度为 $i$ 的回文串会花费 $C_i$ 的成本。你的任务是找出构造字符串 $S$ 所需的最低总成本。回文串是指那些从左向右和从右向左读都相同的字符串。此外,如果同一个回文串被多次使用,每次都需要支付相应的成本。
然而,A 君对这一问题束手无策。请帮他写一个程序来解决这个问题。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $S$ $C_1$ $C_2$ ... $C_N$
- 第一行是一个整数 $N\ (1 \leq N \leq 5000)$,表示字符串 $S$ 的长度。
- 第二行是由小写字母组成的字符串 $S$,长度为 $N$。
- 第三行有 $N$ 个空格分隔的整数,其中第 $i$ 个整数 $C_i\ (1 \leq C_i \leq 10^5)$ 表示使用长度为 $i$ 的回文串的成本。
输出格式
输出构造字符串 $S$ 所需的最小总成本,结果为一行,末尾加一个换行符。
说明/提示
该问题设置了部分分:
- 若在满足 $N \leq 200$ 的数据集上获得正确答案,可以得到 $40$ 分。
- 若在所有测试用例上都获得正确答案,额外可以得到 $60$ 分。
### 样例解释 1
在这个例子中,通过拼接 `i` + `ndeedn` + `o` + `w`,总成本为 $4$。
### 样例解释 2
在这个例子中,拼接 `i` + `ndeedn` + `o` + `w` 的成本为 $129$,但若改为 `i` + `n` + `d` + `ee` + `d` + `n` + `o` + `w`,总成本仅为 $74$。
**本翻译由 AI 自动生成**