Cheapest Palindrome(最便宜的回文)

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最便宜的回文

跟踪所有的奶牛可能是一个棘手的任务,所以农夫约翰已经安装了一个自动化系统。他在每只牛上安装了一个电子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:每行包含三个空格分隔的实体:输入字母的字符和两个整数,分别是添加和删除该字符的成本。

输出

第1行:单行,单个整数是更改给定名称标签的最低成本。

样例输入

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

样例输出

900

提示</

### 寻找便宜的CODESYS控制器 在工业自动化领域,选择合适的PLC(可编程逻辑控制器)对于项目成功至关重要。当考虑使用CODESYS作为开发环境时,市场上有多种支持CODESYS的控制器可供选择。 为了找到便宜的CODESYS控制器,需综合考量几个因素: - **硬件成本**:不同品牌和型号的PLC价格差异较大。 - **软件授权费**:某些高性能功能可能需要额外购买许可证。 - **长期维护和支持费用**。 目前市面上一些较为经济实惠的支持CODESYS平台的控制器包括Beckhoff、Wago以及Mitsubishi等品牌的入门级产品[^1]。 具体推荐如下几种选项供参考: #### Beckhoff CX5020系列 CX5020是一款紧凑型嵌入式PC,具有良好的性价比。它不仅能够运行Windows Embedded Standard 7操作系统,还兼容Linux系统,并且完全支持CODESYS控制引擎。该系列产品适用于中小型应用场合,在保证性能的同时降低了总体拥有成本。 #### WAGO PFC200系列 PFC200是WAGO推出的基于ARM Cortex-A9处理器架构的新一代边缘计算设备。其特点是体积小巧却具备强大的运算能力;预装了适合工业物联网(IoT)应用场景的操作系统——Debian Linux,并集成了Web服务器用于远程访问配置页面。更重要的是,此款控制器自带CODESYS Runtime System无需额外付费即可实现复杂逻辑控制任务。 #### Mitsubishi MELSEC iQ-R系列 三菱电机新发布的iQ-R家族成员之一RJ71CPU67模块同样是一个不错的选择。这款采用双核32位RISC CPU设计的产品可以在保持高效稳定工作状态下提供较低的价格优势。此外,官方提供了丰富的在线资源和技术文档帮助开发者快速上手使用CODESYS进行程序编写调试等工作流程。 综上所述,如果单纯追求低采购价,则建议关注上述提到的品牌中定位低端市场的款式;但如果考虑到整体解决方案的价值,则应更注重评估各供应商所能提供的服务质量和售后保障等因素来决定终选购哪一款适合自己的CODESYS控制器。 ```python # Python伪代码示例:获取便宜CODESYS控制器信息 def get_cheapest_codesys_controller(): controllers = [ {"name": "Beckhoff CX5020", "price": 250}, {"name": "WAGO PFC200", "price": 200}, {"name": "Mitsubishi RJ71CPU67", "price": 300} ] cheapest = min(controllers, key=lambda x: x['price']) return f"The cheapest CODESYS compatible controller found is {cheapest['name']} priced at ${cheapest['price']}" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值