uva1351 dp
这题说的是给了 一个串 然后 比如 aaaaabbbbbbcdddd 可以化成5(a)6(b)c4(d) 这样的串明显 长度更短了 , 请 计算出使得这个串最短的 长度是多少,
dp[i][j] 表示 从字符串i到j 之间的最短的 长度, 然后 先预处理出来 可以简化的 区间
然后 枚举每个区间 去求得最小值
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string.h>
#include <vector>
using namespace std;
const int maxn =;
int dp[maxn][maxn];
char str[maxn];
void inti(int n){
for(int i=; i<n; ++i)
for(int j=i; j<n; ++j)
dp[i][j]=j-i+;
}
bool cmp(int s, int t, int num, int n){
for(int i=; i<num; ++i)
if(str[s+i]!=str[t+i]||t+i>=n) return false;
return true;
}
int ccc(int v){
int ans=;
while(v>) {
ans++;
v/=;
}
return ans;
}
int main()
{
int cas;
scanf("%d",&cas);
for(int cc=; cc<=cas; ++cc){
scanf("%s",str);
int n=strlen(str);
int ok=;
inti(n);
for(int i=; i<=n; ++i){
for(int j=; j+i<n; j++){
ok=;
for(int k=j+i; k<n; k+=i){
if(cmp(j,k,i,n)==true) ok++;
else break;
}
for(int k=; k<i-; ++k)
dp[j][j+i-]=min( dp[j][k+j] + dp[k+j+][j+i-] , dp[j][j+i-] );
dp[j][j+i*(ok+)-] =min( dp[j][j+i*(ok+)-],dp[j][j+i-]*(ok+));
dp[j][j+i*(ok+)-] =min(dp[j][j+i*(ok+) - ] ,dp[j][j+i-]++ccc(ok+) );
}
}
for(int i=; i<=n; ++i){
for(int j=; j+i-<n; ++j)
for(int k=; k<i-; ++k)
dp[j][j+i-]=min(dp[j][j+i-],dp[j][j+k]+dp[j+k+][i+j-]);
}
printf("%d\n",dp[][n-]);
}
return ;
}
uva1351 dp的更多相关文章
- BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4142 Solved: 1964[Submit][Statu ...
- 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...
- AEAI DP V3.7.0 发布,开源综合应用开发平台
1 升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...
- AEAI DP V3.6.0 升级说明,开源综合应用开发平台
AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...
- BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4026 Solved: 1473[Submit] ...
- [斜率优化DP]【学习笔记】【更新中】
参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroS ...
- BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]
1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 9812 Solved: 3978[Submit][St ...
- px、dp和sp,这些单位有什么区别?
DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...
- android px转换为dip/dp
/** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public int dipTopx(Context context, float dpValue) { final floa ...
随机推荐
- GIS-001-gdal软件下载地址
http://www.gisinternals.com/ http://download.gisinternals.com/sdk/downloads/release-1600-x64-gdal-1- ...
- redis客户端使用密码
./redis-cli -h 127.0.0.1 -p 6379 -a password
- AssetBundle 在Android机子上进行读取 .
http://game.ceeger.com/Manual/StreamingAssets.html 我看到官方文档中说明:Note that bundles are not fully compat ...
- 让nginx支持.htaccess文件实现伪静态的方法!
搞了个VPS,装了个LNMP一键安装包,然后搞了个程序放上,想实现伪静态,但是lnmp的默认规则里没有河蟹男需要的伪静态文件,得自己配置, 以前只在.htaccess里搞下就行,现在换Linux下ng ...
- js中replace()方法
str.replace(/Microsoft/g, "W3School");//全局替换 str.replace(/Microsoft/, "W3School" ...
- 关于线上js报错问题的思考
1.有没有可能对线上报错进行实时监控,只要线上报错出现就会以邮件的形式发出来. 2.有没有可能将每个模块和开发者联系起来,只要报错就直接报给开发者
- IIS 无法访问.net的动态文件
编译器错误消息:CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319... 在“c:\windows\temp”这个文件夹添 ...
- android通过数组,流播放声音的方法,音频实时传输
AudioRecord和AudioTrack类是Android获取和播放音频流的重要类,放置在android.media包中.与该包中 的MediaRecorder和MediaPlayer类不同,Au ...
- R向量匹配match和pmatch
match(x, table, nomatch = NA_integer_, incomparables = NULL) x: 向量, 要匹配的值; table: 向量, 被匹配的值; nomatch ...
- Linux 安装 MantisBT 详解
https://www.cnblogs.com/qdwyg2013/p/6030157.html 在工作中,选用了MantisBT作为公司的BTS工具.MantisBT的作为一款缺陷跟踪管理系统,有以 ...