题意:将一个字符串转换成回文串的最小花费。

解题思路:简单的区间dp,dp[i][j]表示从i到j的字符串转换成回文串的最小化费。

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;const int maxn = 20005;
int n,m,dp[maxn][maxn],insert[26],del[26];
char str[maxn],ch[2];int main()
{while(scanf("%d%d",&n,&m)!=EOF){scanf("%s",str+1);for(int i = 1; i <= n; i++){scanf("%s",ch);scanf("%d%d",&insert[ch[0]-'a'],&del[ch[0]-'a']);}for(int i = 1; i <= m; i++) dp[i][i] = 0;for(int l = 2; l <= m; l++)for(int i = 1; i <= m; i++){int j = i + l - 1;if(j > m) break;if(str[i] == str[j])dp[i][j] = dp[i+1][j-1];else{int tmp = min(dp[i+1][j] + insert[str[i]-'a'], dp[i+1][j] + del[str[i]-'a']);dp[i][j] = min(tmp,min(dp[i][j-1] + insert[str[j]-'a'], dp[i][j-1] + del[str[j]-'a']));}}printf("%d\n",dp[1][m]);}return 0;
}

poj 3280(简单区间dp)相关推荐

  1. Brackets POJ - 2955 (区间DP+最大括号匹配子序列)

    传送门 题目:给一个长度n(<=100)的只包含'[',']','(',)'的字符串,求最长的完全匹配的子序列.输出长度 题解:区间dp,dp[i][j]表示i~j的最长匹配数,一支dp[i][ ...

  2. 【DP】 POJ 2955 Brackets 区间DP

    从小区间到大大区间 并计算 当前能否 括号匹配 #include <cstdio> #include <cstring> #include <cstdlib> #i ...

  3. 动态规划 —— 区间 DP

    [概述] 区间型动态规划,又称为合并类动态规划,是线性动态规划的扩展,它在分阶段地划分问题时,与阶段中元素出现的顺序和由前一阶段的区间中哪些元素合并而来有很大的关系. [思想] 区间 DP 实质上就是 ...

  4. UVA1626 / ZOJ1463 Brackets sequence 区间DP

    简单区间DP (有空串... ...) Brackets sequence Time Limit: 4500MS   Memory Limit: Unknown   64bit IO Format:  ...

  5. poj 3280 区间dp

    poj 3280 题意:输入一个含n个字母的长度为m的字符串,接下来输入n个字母,每个字母后面两个整数,分别表示删掉这个字母的代价,和添加这个字母的代价,求把该字符串变成回文串的最小代价. //#in ...

  6. POJ 2955 Brackets (区间DP)

    题目链接:http://poj.org/problem?id=2955 Brackets Time Limit: 1000MS   Memory Limit: 65536K Total Submiss ...

  7. POJ 3186Treats for the Cows(区间DP)

    题目链接:http://poj.org/problem?id=3186 题目大意:给出的一系列的数字,可以看成一个双向队列,每次只能从队首或者队尾出队,第n个出队就拿这个数乘以n,最后将和加起来,求最 ...

  8. POJ 1651 Multiplication Puzzle(类似矩阵连乘 区间dp)

    传送门:http://poj.org/problem?id=1651 Multiplication Puzzle Time Limit: 1000MS   Memory Limit: 65536K T ...

  9. poj 1141(区间dp+打印路径)

    题意: 定义合法的括号序列如下: 1 空序列是一个合法的序列 2 如果S是合法的序列,则(S)和[S]也是合法的序列 3 如果A和B是合法的序列,则AB也是合法的序列 例如:下面的都是合法的括号序列 ...

最新文章

  1. python脚本编写_【PyQGIS】编写用于处理框架(QGIS3)的Python脚本
  2. 微盟创始人孙涛勇回应员工删库;字节跳动推“头条搜索”独立 App;C++ 20 规范完成| 极客头条...
  3. Myeclipse加载php插件
  4. user_all_tables,user_tables等视图的说明
  5. 具备白名单、黑名单的Filter基类扩展
  6. C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈
  7. jQuery(二)事件
  8. 六招制敌,搞定 core dump 问题
  9. sequelize 增加数据库字段_sequelize 5.0中文文档连接数据源及数据类型 (一) - node.js语言最好用的orm...
  10. 部署VC2008应用程序时不能运行解决办法
  11. 如何在网上下载自己需要的资源
  12. SREng 使用指南(五)扩展的解说
  13. 飞腾服务器通过KunLun BIOS 对JBOD模式的系统盘进行格式化,删除系统盘中残留数据的操作方法
  14. 重启随机游走(RWR)算法
  15. 首款Intel双核挑衅四核 联想K900评测
  16. 如何处理linux恶意程序
  17. LISP标注路线桩号_如何用AutoLisp编写自动标注里程桩程序?
  18. Linux下查看即时网速(查看网速)
  19. 【千里眼智能摄像头V1.1中文免费版】方便录像照相工具
  20. 诺基亚S60手机格机方法

热门文章

  1. 到喜啦携手神策数据,大数据加速产品服务的创新整合发展
  2. 货拉拉携手神策数据,数据赋能企业,实现多元颠覆式创新
  3. react-router中的exact和strict
  4. CF1101A Minimum Integer 模拟
  5. Oracle数据库锁诊断
  6. Linux文件系统和挂载点理解
  7. Linux 批量修改文件名
  8. DFT,DTFT,DFS,FFT区别
  9. 巧用事件查看器维护服务器安全
  10. why the ebitda and ebit differ so much for netflix?