//Accepted    300 KB    31 ms
 //区间dp 思路完全网上看的
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 using namespace std;
 ;
 int dp[imax_n][imax_n];
 char s1[imax_n],s2[imax_n];
 int ans[imax_n];
 int n;
 int min(int a,int b)
 {
     return a<b?a:b;
 }
 void Dp()
 {
     memset(dp,,sizeof(dp));
     ;i<=n;i++)
     dp[i][i]=;
     dp[][]=;
     ;i<n;i++)
     {
         ]==s2[i])
         dp[i][i+]=;
         else
         dp[i][i+]=;
     }
     ;l<=n;l++)
     {
         ;i<=n;i++)
         {
             ;
             if (j>n) break;
             dp[i][j]=dp[i+][j]+;
             ;k<=j;k++)
             ]==s2[k-])
             dp[i][j]=min(dp[i][j],dp[i+][k]+dp[k+][j]);
         }
     }
 }
 int main()
 {
     while (scanf("%s%s",s1,s2)!=EOF)
     {
         n=strlen(s1);
         Dp();
         ans[]=;
         ;i<=n;i++)
         {
             ans[i]=dp[][i];
             ]==s2[i-])
             ans[i]=ans[i-];
             ;k<i;k++)
             ans[i]=min(ans[i],ans[k]+dp[k+][i]);
         }
         printf("%d\n",ans[n]);
     }
     ;
 }
 //Accepted    300 KB    15 ms
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 using namespace std;
 ;
 int dp[imax_n][imax_n];
 char s1[imax_n],s2[imax_n];
 int ans[imax_n];
 int n;
 int min(int a,int b)
 {
     return a<b?a:b;
 }
 void Dp()
 {
     //memset(dp,0,sizeof(dp));
     ;i<=n;i++)
     dp[i][i]=;
     dp[][]=;
     ;i<n;i++)
     {
         ]==s2[i])
         dp[i][i+]=;
         else
         dp[i][i+]=;
     }
     ;l<=n;l++)
     {
         ;i<=n;i++)
         {
             ;
             if (j>n) break;
             ]==s2[j-])
             dp[i][j]=dp[i+][j];
             else
             dp[i][j]=dp[i+][j]+;
             ;k<j;k++)
             ]==s2[k-])
             dp[i][j]=min(dp[i][j],dp[i+][k]+dp[k+][j]);
         }
     }
 }
 int main()
 {
     while (scanf("%s%s",s1,s2)!=EOF)
     {
         n=strlen(s1);
         Dp();
         ans[]=;
         ;i<=n;i++)
         {
             ans[i]=dp[][i];
             ]==s2[i-])
             ans[i]=ans[i-];
             ;k<i;k++)
             ans[i]=min(ans[i],ans[k]+dp[k+][i]);
         }
         printf("%d\n",ans[n]);
     }
     ;
 }

hdu2476 区间dp的更多相关文章

  1. hdu2476(区间dp+dp)

    String painter Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  2. hdu2476 String painter(区间dp)

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2476 Problem Description There are two strings ...

  3. HDU2476 String painter——区间DP

    题意:要把a串变成b串,每操作一次,可以使a串的[l,r]区间变为相同的一个字符.问把a变成b最少操作几次. 这题写法明显是区间dp ,关键是处理的方法. dp[l][r]表示b串的l~r区段至少需要 ...

  4. 区间dp总结篇

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

  5. 区间dp(入门题)

    区间dp:顾名思义就是在区间上进行动态规划,通过合并小区间求解一段区间上的最优解. 常见模板: for(int len=1;len<n;len++){//区间长度 for(int be=1;be ...

  6. 区间dp的感悟

    学区间dp似乎也很久了...对区间dp的通用模型都了解了一些 但是做题还是很坑 上了一点难度的题基本想不出什么思路.. 目前的做题方式就是看题 想一会发现自己不会做 看题解 好巧妙啊 理解后写一发.. ...

  7. CQOI2007 涂色 paint (区间dp)

    听说这道题是当年省选题 于是兴致勃勃拿来做了做 至于如何想到思路... 事实上没想象中那么简单... 脑阔挺疼的... (一开始都没看出来是区间dp) 想到可以区间dp,然后就似乎没啥大问题 枚举区间 ...

  8. 【BZOJ-4380】Myjnie 区间DP

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

  9. 【POJ-1390】Blocks 区间DP

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

随机推荐

  1. Implicit Object in JSP

    Implicit Object Description request The HttpServletRequest object associated with the request. respo ...

  2. OneProxy分库分表演示--楼方鑫

    OneProxy分库分表演示 (杭州平民软件有限公司) OneProxy是为MySQL精心设计的数据访问层,可以为任何开发语言提供对MySQL数据库的智能数据路由功能,比如单点切换.读写分离.分库分表 ...

  3. JAVA通过C3P0连接数据库

    配置文件: <?xml version="1.0" encoding="UTF-8"?> <c3p0-config>    <na ...

  4. JAVA中线程同步的方法(7种)汇总

    同步的方法: 一.同步方法 即有synchronized关键字修饰的方法. 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法.在调用该方法前,需要获得内置锁,否则就 ...

  5. SqlServer关闭与启用标识(自增长)列

    1 --添加新列 2 ALTER TABLE TABLENAME ADD ID int 3 --赋值 4 UPDATE TABLENAME SET ID = IDENTITY_ID 5 --删除标识列 ...

  6. Runner站立会议之个人记录

    备注: 为方便记录,此随笔每日更新(因会议在晚上开,所以将昨天今天改成了今天明天) 2016.4.19  站立会议 今天学习到了:文件创建,adt基本知识,分别在虚拟机和手机上运行软件 明天要:继续学 ...

  7. Javascript的"预编译"思考

    今天工作需要,搜索下JS面试题,看到一个题目,大约是这样的 <script> var x = 1, y = z = 0; function add(n) { n = n+1;  } y = ...

  8. Laravel

    Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁.富于 ...

  9. uva 10723

      10723 - Cyborg Genes Time limit: 3.000 seconds Problem F Cyborg Genes Time Limit 1 Second Septembe ...

  10. WPF的Binding功能解析

    1,Data Binding在WPF中的地位 程序的本质是数据+算法.数据会在存储.逻辑和界面三层之间流通,所以站在数据的角度上来看,这三层都很重要.但算法在3层中的分布是不均匀的,对于一个3层结构的 ...