Cheapest Palindrome(最便宜的回文)

农夫约翰想要修改奶牛的ID标签,使其成为回文,即使得ID读取相同,无论奶牛走哪个方向。每个字符的添加或删除都有特定的成本。这个问题可以通过动态规划解决,找到使非回文字符串变为回文的最低成本。
摘要由CSDN通过智能技术生成

最便宜的回文

跟踪所有的奶牛可能是一个棘手的任务,所以农夫约翰已经安装了一个自动化系统。他在每只牛上安装了一个电子ID标签,系统将在扫描仪通过奶牛时读取。每个ID标签的内容当前是从N(1≤N≤26)个不同符号(即小写罗马字母表)的字母表中绘出的长度为M(1≤M≤2000)个字符的单个字符串。

奶牛作为他们的调皮生物,有时试图通过向后走向欺骗系统。而ID为“abcba”的奶牛,无论她走哪一个方向,都会读取相同的奶牛,ID为“abcb”的奶牛可以注册为两个不同的ID(“abcb”和“bcba”)。

FJ想改变奶牛的ID标签,所以他们读取同样的东西,无论牛走哪边方向。例如,可以通过在末尾添加“a”来更改“abcb”,以形成“abcba”,以便ID是回文(读取相同的向前和向后)。将ID更改为回文的其他一些方法包括将三个字母“bcb”添加到开头以产生ID“bcbabcb”或删除字母“a”以产生ID“bcb”。可以在字符串中的任何位置添加或删除字符串,生成比原始字符串更长或更短的字符串。

不幸的是,由于ID标签是电子的,所以每个字符的插入或删除都有成本(0≤成本≤10,000),这取决于要添加或删除的字符值的准确性。鉴于牛的ID标签的内容和插入或删除每个字母的字符的成本,找到更改ID标签的最低成本,以满足FJ的要求。空的ID标签被认为是满足阅读相同的向前和向后的要求。只有带有相关费用的字母可以添加到字符串。

输入

行1:两个空格分隔的整数:N和M
行2:这行直接包含构成初始ID字符串的M个字符
行3 .. N + 2:每行包含三个空格分隔的实

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值