/ Vijos / 题库 /

电子ID

电子ID

时间限制:1秒  内存限制:256M


【问题描述】

  电子ID是一个由小写字母组成的长度为 \(M\) 的字符串,字符串中出现的不同的字母有 \(N\) 种。由于最初设计的缺陷,正向扫描和反向扫描电子ID得到了不同信息。于是设计者想将其改造成回文串。

  改造的方法可以通过删除或添加字符来实现,当然无论是删除还是添加,不同的字符都需要不同的代价。那么该怎样改造,才能使代价最少?

【输入格式】

  第一行包含两个用空格分开的整数 \(N\) 和 \(M\);
  第二行包含一个长度为 \(M\) 的字符串,表示某头电子ID;
  接下来的 \(N\) 行,每行包含三个用空格分开的数据,第一个是一个英文字母 \(ch\),第二个是一个整数 \(C_1\),表示在电子ID中插入一个 \(ch\) 的代价,第三个是一个整数 \(C_2\),表示在电子ID删除一个字符 \(ch\) 的代价。

【输出格式】

  一行包含一个整数,表示最小代价。

【输入输出样例】

 Input

3 4
yscs
y 1000 1100
s 350 700
c 200 800 

 Output

900

【输入输出样例解释】

  如果我们在末尾插入一个“y”来获取“yscsy”,那么费用将是1000;
  如果我们从头开始删除“y”来获取“scs”,那么费用将是1100;
  如果我们在前面插入“scs”得到“scsyscs”,成本将是350+200+350=900,这是最小的。

【数据说明】

  对于 \(100\%\) 的数据 \(1≤N≤26\),\(1≤M≤2000\),\(0≤C_1,C_2≤10000\)。

【来源】

  Mr.he

信息

ID
1684
难度
9
分类
动态规划 | LCS 点击显示
标签
(无)
递交数
7
已通过
1
通过率
14%
被复制
3
上传者