【洛谷P2470】[SCOI2007]压缩
压缩
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
#define MAXN 55
#define INF 0x3f3f3f3f
#define mid ((l+r)>>1)
int n,f[MAXN][MAXN][];
//不妨处理每个子串时,我们都在它的前面放一个M,最后答案长度-1即可
//f[l][r][0]表示子串[l,r]中除了前面的M,串中还存在其他的M的最短长度
//f[l][r][1]则表示只有前面一个M的最短长度 /*
三个转移方程:
1.if(该串左右两半相同)
f[l][r][1]=min(f[l][r][1],f[l][mid][1]+1); 压缩与不压缩
2. i l~r-1
f[l][r][1]=min(f[l][r][1],f[l][i][1]+r-i);
3. i l~r-1
f[l][r][0]=min(f[l][r][0],min(f[l][i][0],f[l][i][1])+min(f[i+1][r][0],f[i+1][r][1]));
*/
char s[MAXN];
int dp(int l,int r,bool op){
if(f[l][r][op]) return f[l][r][op];
if(l==r) return f[l][r][op]=;
int &d=f[l][r][op]=r-l+;
if(op){
bool flag=;
if((r-l+)%==) flag=;
if(flag)
for(int i=l;i<=mid;i++)
if(s[i]!=s[mid+i-l+]){ flag=; break; }
if(flag) d=min(d,dp(l,mid,)+);
for(int i=l;i<r;i++)
d=min(d,dp(l,i,)+r-i);
}
else
for(int i=l;i<r;i++)
d=min(d,min(dp(l,i,),dp(l,i,))+min(dp(i+,r,),dp(i+,r,)));
return d;
}
int main()
{
scanf("%s",s+);
n=strlen(s+);
dp(,n,); dp(,n,);
printf("%d\n",min(f[][n][],f[][n][])-);
return ;
}
【洛谷P2470】[SCOI2007]压缩的更多相关文章
- 洛谷P2470 [SCOI2007]压缩(区间dp)
题意 题目链接 Sol 神仙题Orz 考虑区间dp,如果我们只设\(f[l][r]\)表示\(s_{lr}\)被压缩的最小长度,而不去关心内部\(M\)分布的话,可能在转移的时候转移出非法状态 因此考 ...
- 洛谷P2470||bzoj1068 [SCOI2007]压缩
bzoj1068 洛谷P2470 区间dp入门题?只要注意到每个M“管辖”的区间互不相交即可 错误记录:有点小坑,比如aaaacaaaac最优解为aRRcR(意会坑在哪里),踩了一次 #include ...
- 【洛谷p1319】压缩技术
(许久不见,甚是想念) 压缩技术[传送门] 洛谷上滴算法标签: 然而这是一道入门难度的题.(不管不管,就写它了) 好的先说一下思路吧wait!我忘记了咋做的当时. 首先做题第一道坎儿,如何输入若干个( ...
- 洛谷 P1763 状态压缩dp+容斥原理
(题目来自洛谷oj) 一天,maze决定对自己的一块n*m的土地进行修建.他希望这块土地共n*m个格子的高度分别是1,2,3,...,n*m-1,n*m.maze又希望能将这一些格子中的某一些拿来建蓄 ...
- luogu P2470 [SCOI2007]压缩
传送门 dalao们怎么状态都设的两维以上啊?qwq 完全可以一维状态的说 设\(f[i]\)为前缀i的答案,转移就枚举从前面哪里转移过来\(f[i]=min(f[j-1]+w(j,i))(j\in ...
- 洛谷 P2053 [SCOI2007]修车 解题报告
P2053 [SCOI2007]修车 题目描述 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这M位技术 ...
- 洛谷P1124 文件压缩
https://www.luogu.org/problem/show?pid=1124 题目背景 提高文件的压缩率一直是人们追求的目标.近几年有人提出了这样一种算法,它虽然只是单纯地对文件进行重排,本 ...
- P2470 [SCOI2007]压缩
传送门 区间dp,记\(dp(l,r,t)\)表示区间\((l,r)\),\(t\)表示这个区间中能不能放\(M\).如果可以,枚举中间哪里放\(M\)来压缩.也可以不压缩,后面直接跟上去.如果左右重 ...
- 洛谷 P1124 文件压缩
P1124 文件压缩 题目背景 提高文件的压缩率一直是人们追求的目标.近几年有人提出了这样一种算法,它虽然只是单纯地对文件进行重排,本身并不压缩文件,但是经这种算法调整后的文件在大多数情况下都能获得比 ...
随机推荐
- Js简易代码生成工具
代码 javascript:(function(){ document.body.innerHTML = '<textarea id="txtTemplate" style= ...
- 全文检索~solr的使用
全文检索这个系列在几前年写过lucene的文章,而现在看来它确实已经老了,它的儿子孙子都出来了,已经成为现在检索行列的主流,像solr,elasticsearch等,今天我们主要来看一个solr在as ...
- sql server 远程备份 bak 删除
前言: 管理一个公司的一个服务器,最近有一些维护SQLserver数据库活弄,写下防止忘了. 因为公司采用SQL\Redis\MongoDB共用,SQL用来存储基础的结构\权限\等一些杂七杂八的东西. ...
- oled屏幕配套取字模软件使用
oled屏幕配套取字模软件使用 作者:李剀 出处:https://www.cnblogs.com/kevin-nancy/p/10531368.html欢迎转载,但也请保留上面这段声明.谢谢! **P ...
- centOS查看apache版本的命令
在centOS 7下: 命令如下: httpd -v
- 【Linux】快速清空当前文件
$ : > filename $ > filename $ echo "" > filename $ echo > filename $ cat /dev/ ...
- 5、栅格布局:ion-grid
/* --- html ----*/ <ion-content class="tabs"> <ion-grid> <h1>没有 warp 的 i ...
- [译]理解 Windows UI 动画引擎
本文译自 Nick Waggoner 的 "Understand what’s possible with the Windows UI Animation Engine",已获原 ...
- React.js学习小结
最近一段时间都在学习React.js,感觉还不错,现在把自己的一些学习笔记记录一下,留着以后学习查看. 0.React全家桶(技术栈) 1.React主体 2.WebPack:grunt.gulp自动 ...
- mysql主从复制报错 :Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
在配置mysql主从复制时,想通过 grant replication slave on bbs.* to 'bbs'@'192.168.1.3' identified by '123456'; 来限 ...