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 ...
随机推荐
- dede调用文章的栏目,作者,发布时间.以及连接数据库输出一个表
发布时间: {dede:field.pubdate function="MyDate('Y-m-d H:i',@me)"/}类目:{dede:field.typename/}发布人 ...
- 关于智能指针boost::shared_ptr
boost库中的智能指针shared_ptr, 功能强大, 且开销小,故受到广大coder的欢迎. 但在实际的使用过程中,笔者也发现了一些不足. 1.定制的删除器 shared_ptr除了可以使用默认 ...
- 【hdu2196】Computer
hdu 2196 computer 题意 给你一棵树,边有权值. 对于每一个点,求其与其距离最远的点的距离. 分析 思路1:树的直径 利用直径的性质进行求解,网上资料很多,这里不赘述. #includ ...
- js将long日期格式转换为标准日期格式
<script language="javascript"> //扩展Date的format方法 Date.prototype.format = function (f ...
- TWaver HTML5 (2D)----数据元素
概述 数据元素是数据模型的基本要素,用于描述图形网元,业务网元,或者纯数据.TWaver HTML5中所有数据元素都继承自twaver.Data.为不同功能的需求,预定义了三类数据类型:twaver. ...
- 定向转发和重定向实现 <select >下拉表单数据传送
定向转发的特点: (1). 实行转发时浏览器上的网址不变 (如果你这点忽视了,那你就要接受我无尽的鄙视吧! 哇咔咔~~~) (2). 实行转发时 : 只有一次请求. 不信,看这下面的 ...
- hashtable 实现
#include <stdlib.h> #include <stdio.h> #include <string.h> typedef struct _hashnod ...
- spring关于urlpattern
视图解析器(ViewResolver)注册中央调度器定制处理器jsp页面搭建springmvc.xml配置效果图第一个案例提升----视图解析器关于urlpattern说法最好配成*.do 不能配成/ ...
- ERP开发分享 1 数据库表设计
这是我的ERP设计经验分享系列,今天讲的是数据库的表设计(1),主要阐述: 1.单字段的主键:2.使用int32作为主键类型:3.使用版本字段处理乐观锁定:4.生效字段标明是否允许“被使用”:5.锁定 ...
- 解决qt5在ubuntu下无法调用fcitx输入中文的问题
如题,在以前安装qt5.2.1的时候就遇到了这个问题.当时上网搜了很多资料,结果都解决不了,发现都是复制来复制去. 这次因为要用qt5.3.0在ubuntu下写个程序,所以不解决这个问题不行了.就继续 ...