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 ...
随机推荐
- [转]Android ORM系列之GreenDao最佳实践
GreenDAO是一个可以帮助Android开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案,通过使用一个简单的面向对象API,开发者可以对Java对象进行存储.更新.删除和查 ...
- QQ等级图标排名说明_QQ等级表,QQ最高等级(皇冠) qq到一星要5天
从2007年11月29日中午12:00开始,在不改变原有计算方式的情况下,加速QQ会员等级升级.QQ会员用户在原有通过每天在线2小时累积活跃天数来获取相应QQ等级增长的基础上,还可以根据QQ会员VIP ...
- servlet 文件上传简易版
package cn.itcast.servlet; import java.io.File;import java.io.IOException;import java.util.List; imp ...
- 简单的css居中问题(日常记录)
1.今天遇到了一个奇怪的问题:因为网页要适配大小分辨屏幕,需要把一张图片放到div中,我的初始思路是把图放在div中绝对对位给top50%left50%,但是不行,因为当网页调窄时图片就因为显得太大了 ...
- JSONObject和JSONArray使用
1.所依赖JAR包 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar common ...
- javaScript定义对象的方法
转自souhu新闻http://news.sohu.com/20110215/n279335637.shtml? javascript定义对象的几种简单方法 1.构造函数方式,全部属性及对象的方法都放 ...
- jmeter 建立一个监控测试计划
监控 压力测试和系统管理是有用的. 使用压力 测试,服务器性能监控提供了额外的信息. 这也使得它更容易看到服务器性能之间的关系 在客户端和响应时间. 作为一个系统管理工具, 监控提供了一种简单的方法来 ...
- postgresql 触发器
一.创建事件触发器 1.ddl_command_start - 一个DDL开始执行前被触发: 2.ddl_command_end - 一个DLL 执行完成后被触发: 3.sql_drop -- 删除一 ...
- 部门树形结构,使用Treeview控件显示部门
部门树形结构.设计张部门表用于存储部门编码.名称.上级部门id,使用Treeview控件显示部门树,并实现部门增删改.移动.折叠等功能.特别提示,部门有层级关系,可用donetbar的adtree控件 ...
- python中的binascii
import binascii as B s = 'abcde' h = B.b2a_hex(s) # 字符串转16进制 '6162636465' h = B.hexlify(s) # 作用同上 s ...