题目名称 2424. [POJ 3280]最便宜的回文
输入输出 palindrome.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2025-07-02加入
开放分组 全部用户
提交状态
分类标签
区间DP 动态规划
分享题解
通过:11, 提交:24, 通过率:45.83%
Gravatar李奇文 100 0.143 s 11.92 MiB C++
GravatarLikableP 100 0.158 s 9.51 MiB C++
Gravatar汐汐很希希 100 0.217 s 11.81 MiB C++
Gravatar淮淮清子 100 0.219 s 18.99 MiB C++
Gravatar秋_Water 100 0.226 s 19.00 MiB C++
GravatarRuyi 100 0.279 s 11.78 MiB C++
GravatarOTTF 100 0.296 s 12.08 MiB C++
Gravatarsyzhaoss 100 0.311 s 11.93 MiB C++
Gravatarrb_tree 100 0.312 s 34.37 MiB C++
Gravatar左清源 100 0.314 s 11.96 MiB C++
关于 最便宜的回文 的近10条评论(全部评论)

2424. [POJ 3280]最便宜的回文

★★   输入文件:palindrome.in   输出文件:palindrome.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目描述】

给定一个仅有小写字母构成的字符串,请你通过在字符串任意位置增加或删除小写字母使其变为回文。

例如,对于字符串“abcb”,可以通过在末尾增加“a”使其变为“abcba”、或者删除字符“a”,使其变为“bcb”、或者在开头增加“bcb”,使其变为“bcbabcb”。

但是现在增加、删除每个字符的成本可能是不同的,现在请你求解将给定字符串转化为回文的最小成本。

【输入格式】

第$1$行包含两个整数$n,m(1\leq n\leq 26,1\leq m\leq 2000)$,分别表示给定成本的字符个数和字符串长度。

第$2$航给定一个字符串。

接下来$n$行,每行包含一个字符和两个整数,分别表示增加和删除该字符的成本($0\sim 10^4$)。

【输出格式】

一行一个整数,表示将原字符串变为回文的最小成本。

【样例输入】

3 4
abcb
a 1000 1100
b 350 700
c 200 800

【样例输出】

900

【样例说明】

若在“abcb”末尾添加一个“a”,则得到“abcba”,成本是1000;若把开头的“a”删掉,则得到“bcb”,成本是1100;若在开头插入“bcb”,则得到“bcbabcb”,成本是350+200+350=900,这是最小成本。