hdu2476 区间dp
//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的更多相关文章
- hdu2476(区间dp+dp)
String painter Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- hdu2476 String painter(区间dp)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2476 Problem Description There are two strings ...
- HDU2476 String painter——区间DP
题意:要把a串变成b串,每操作一次,可以使a串的[l,r]区间变为相同的一个字符.问把a变成b最少操作几次. 这题写法明显是区间dp ,关键是处理的方法. dp[l][r]表示b串的l~r区段至少需要 ...
- 区间dp总结篇
前言:这两天没有写什么题目,把前两周做的有些意思的背包题和最长递增.公共子序列写了个总结.反过去写总结,总能让自己有一番收获......就区间dp来说,一开始我完全不明白它是怎么应用的,甚至于看解题报 ...
- 区间dp(入门题)
区间dp:顾名思义就是在区间上进行动态规划,通过合并小区间求解一段区间上的最优解. 常见模板: for(int len=1;len<n;len++){//区间长度 for(int be=1;be ...
- 区间dp的感悟
学区间dp似乎也很久了...对区间dp的通用模型都了解了一些 但是做题还是很坑 上了一点难度的题基本想不出什么思路.. 目前的做题方式就是看题 想一会发现自己不会做 看题解 好巧妙啊 理解后写一发.. ...
- CQOI2007 涂色 paint (区间dp)
听说这道题是当年省选题 于是兴致勃勃拿来做了做 至于如何想到思路... 事实上没想象中那么简单... 脑阔挺疼的... (一开始都没看出来是区间dp) 想到可以区间dp,然后就似乎没啥大问题 枚举区间 ...
- 【BZOJ-4380】Myjnie 区间DP
4380: [POI2015]Myjnie Time Limit: 40 Sec Memory Limit: 256 MBSec Special JudgeSubmit: 162 Solved: ...
- 【POJ-1390】Blocks 区间DP
Blocks Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5252 Accepted: 2165 Descriptio ...
随机推荐
- grub4dos通用菜单及相关工具包
grub4dos通用菜单及相关工具包 全套工具包(含PE.ISO,可根据需要替换删减):http://pan.baidu.com/s/1i4EjWod模板文件3.3M(不含PE.ISO):http:/ ...
- Eclipse 配置Tomcat
1.Eclipse EE 配置Tomcat Eclipse EE 主要用于Java Web开发和J2EE项目开发.Eclipse EE中配置Tomcat比较简单,新建一个Tomcat Server即可 ...
- Linux基础: 系统加载过程和运行级别含义
BIOS 有固化代码指向mbr,mbr指向grub(/boot/grub/下有很多引导配置信息),grub里可以配置多种linux内核vmlinux文件. 启动内核以后就开始加载各种驱动模块并进行系统 ...
- 漫谈iOS Crash收集框架
漫谈iOS Crash收集框架 Crash日志收集 为了能够第一时间发现程序问题,应用程序需要实现自己的崩溃日志收集服务,成熟的开源项目很多,如 KSCrash,plcrashreporter,C ...
- uva 242
242 - Stamps and Envelope Size Time limit: 3.000 seconds Stamps and Envelope Size Philatelists hav ...
- Help Me Escape (ZOJ 3640)
J - Help Me Escape Crawling in process... Crawling failed Time Limit:2000MS Memory Limit:32768KB ...
- 支持新版chrome,用webstorm编译形成css和sourcemap,调试sass和less源文件(转)
旧版的chrome有个support for sass,但是新版chrome没有这个功能了.看到网上提供的方法比较多,也很乱,旧版新版的都有.而且不能指定自己所需要的路径. 所以就做了下改版. sas ...
- 用JavaScript操作Media Queries
在响应式(或自适应)设计中要用到Media Queries这个CSS属性,但在某些时候我们需要对Media Queries进行动态操作,这时候可以使用Javascript. 如以下Media Quer ...
- js首字母大写--单个单词的处理方式
var operate2='OR'; for (var j = 0, len = operate1.length; j< len; j++) { //获得unicode码 var ch2 = o ...
- RAID在数据库存储上的应用-转
随着单块磁盘在数据安全.性能.容量上呈现出的局限,磁盘阵列(Redundant Arrays of Inexpensive/Independent Disks,RAID)出现了,RAID把多块独立的磁 ...