//Accepted    15880 KB    250 ms
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 using namespace std;
 ;
 ;
 ;
 int dp[imax_n][imax_n];
 int addcost[imax_m];
 int deletecost[imax_m];
 int n;
 int m;
 char s[imax_n];
 int min(int a,int b)
 {
     return a<b?a:b;
 }
 void Dp()
 {
     memset(dp,,sizeof(dp));
     //for (int i=1;i<=n;i++)
     //dp[i][i]=0;
     ;l<=n;l++)
     {
         ;i<=n;i++)
         {
             ;
             dp[i][j]=inf;
             ]==s[j-]) dp[i][j]=dp[i+][j-];
             dp[i][j]=min(dp[i][j],dp[i+][j]+addcost[s[i-]-'a']);
             dp[i][j]=min(dp[i][j],dp[i+][j]+deletecost[s[i-]-'a']);
             dp[i][j]=min(dp[i][j],dp[i][j-]+addcost[s[j-]-'a']);
             dp[i][j]=min(dp[i][j],dp[i][j-]+deletecost[s[j-]-'a']);
         }
     }
     printf(][n]);
 }
 int main()
 {
     //while (scanf("%d%d",&m,&n)!=EOF)
     {
         scanf("%d%d",&m,&n);
         scanf("%s",s);
         ];
         memset(addcost,,sizeof(addcost));
         memset(deletecost,,sizeof(deletecost));
         ;i<=m;i++)
         {
             scanf("%s",ss);
             scanf(]-]-'a']);
         }
         Dp();
     }
     ;
 }

poj3280 区间dp的更多相关文章

  1. Cheapest Palindrome [POJ3280] [区间DP] [经典]

    一句话题意:每个字母添加和删除都相应代价(可以任意位置 增加/删除),求把原串变成回文串的最小代价 Description 保持对所有奶牛的跟踪是一项棘手的任务,因此农场主约翰已经安装了一个系统来实现 ...

  2. [poj3280]Cheapest Palindrome_区间dp

    Cheapest Palindrome poj-3280 题目大意:给出一个字符串,以及每种字符的加入代价和删除代价,求将这个字符串通过删减元素变成回文字符串的最小代价. 注释:每种字符都是小写英文字 ...

  3. 区间dp总结篇

    前言:这两天没有写什么题目,把前两周做的有些意思的背包题和最长递增.公共子序列写了个总结.反过去写总结,总能让自己有一番收获......就区间dp来说,一开始我完全不明白它是怎么应用的,甚至于看解题报 ...

  4. 区间DP的摸索

    (poj真的炸了,以下代码可能有误) 按照下面这个做题顺序,对区间DP不再那么迷了 LOJ1422 是 dp[i][j]=min(dp[i][j],dp[i+1][k-1]+dp[k][j])而不是d ...

  5. 【BZOJ-4380】Myjnie 区间DP

    4380: [POI2015]Myjnie Time Limit: 40 Sec  Memory Limit: 256 MBSec  Special JudgeSubmit: 162  Solved: ...

  6. 【POJ-1390】Blocks 区间DP

    Blocks Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 5252   Accepted: 2165 Descriptio ...

  7. 区间DP LightOJ 1422 Halloween Costumes

    http://lightoj.com/volume_showproblem.php?problem=1422 做的第一道区间DP的题目,试水. 参考解题报告: http://www.cnblogs.c ...

  8. BZOJ1055: [HAOI2008]玩具取名[区间DP]

    1055: [HAOI2008]玩具取名 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1588  Solved: 925[Submit][Statu ...

  9. poj2955 Brackets (区间dp)

    题目链接:http://poj.org/problem?id=2955 题意:给定字符串 求括号匹配最多时的子串长度. 区间dp,状态转移方程: dp[i][j]=max ( dp[i][j] , 2 ...

随机推荐

  1. 解决xshell 中文乱码

    在xshell命令行里面 输入:  locale输出: LANG=zh_CN.UTF-8LC_CTYPE="zh_CN.UTF-8"LC_NUMERIC="zh_CN.U ...

  2. fork&exec

    进程是系统进行资源分配和调度的基本单位,包括代码.数据和PCB进程控制块等资源. fork函数通过系统调用创建一个与原进程相同的子进程. 在调用进程(父进程)中返回一次,返回子进程ID:在子进程返回0 ...

  3. 小米域名过渡JS

    <script>jQuery(function($) { (function() { var $bnBar = $(''), $topBn = $('#J_topBn'), $topBnB ...

  4. C/C++源代码到可执行程序的过程详解

    编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序. 源代码-- ...

  5. ztree edit_super

    <SCRIPT type="text/javascript"> var setting = { view : { addHoverDom : addHoverDom, ...

  6. inout

    在函数声明时就用inout代替var  这样以后可以在函数内部修改外面的值 类似于C语言的传入指针 func change (inout num:Int) { num = 10 } var a = 2 ...

  7. Java 集合系列 13 WeakHashMap

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  8. jQuery选择器介绍:基本选择器、层次选择器、过滤选择器、表单选择器

    选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器.因此,如果能熟练的使用选择器,不仅能简化代码,而且可以达到事半功倍的效果.jQuery选择器完全继承了 ...

  9. Vim经典讲解

    http://blog.csdn.net/niushuai666/article/details/7275406

  10. toggleClass() 方法做类似于微信扣扣点击语音图标按钮变成切换到语音输入功能,点击键盘图标按钮切换到文字输入状态的效果

    就是这种效果的类似. <html><head><script type="text/javascript" src="/jquery/jqu ...