Sol

区间DP.

转移很简单,枚举会形成的断长转移就行,话说上一题我就跟这个是差不多的思路,转移改了改,然后死活过不了...

同样都是SCOI的题...相差4年...

Code

/**************************************************************
Problem: 1090
User: BeiYu
Language: C++
Result: Accepted
Time:20 ms
Memory:1332 kb
****************************************************************/ #include<cstdio>
#include<cstring>
#include<iostream>
using namespace std; const int N = 105; char c[N];
int f[N][N]; int bit(int x){ if(x>=100) return 3;if(x>=10) return 2;return 1; }
int DP(int l,int r){
int &res=f[l][r];if(~res) return res;
if(l>r) return res=0;if(l==r) return res=1;int len=r-l+1;res=len;
for(int i=1;i<=len/2;i++) if(len%i==0){
int can=1;
for(int j=l+i;j<=r;j++) if(c[j]!=c[(j-l)%i+l]){ can=0;break; }
if(can) res=min(res,DP(l,l+i-1)+2+bit(len/i));
}for(int i=l;i<r;i++) res=min(res,DP(l,i)+DP(i+1,r));
return res;
} int main(){
scanf("%s",c+1);int n=strlen(c+1);memset(f,-1,sizeof(f));
cout<<DP(1,n)<<endl;
return 0;
}

  

最新文章

  1. 关于新书《修炼之道:.NET开发要点精讲》的各种说明
  2. javascript 随笔
  3. 开机自动连接/断开VPN 批处理
  4. android定位
  5. SQL SERVER2012中使用游标来备份数据库
  6. hibernate关于一对一用法
  7. 在英文 sql2005中 比较nvarchar 与 varchar的速度
  8. 什么是NSTimer
  9. BZOJ 1509: [NOI2003]逃学的小孩( 树形dp )
  10. 如何利用MongoDB打造TOP榜小程序
  11. redhat 7.5 更换 yum源
  12. hashcode和equals方法的区别和联系
  13. Echo团队团队展示
  14. CentOS7 下源代码安装apache2.4
  15. 编写hadoop程序,并打包jar到hadoop集群运行
  16. haproxy 同一域名下分发请求
  17. python __all__用法
  18. CFGym 100211J 题解
  19. acer笔记本禁用或关闭触摸板
  20. mybatis源码分析(5)-----拦截器的实现原理(动态代理+责任链)

热门文章

  1. Runner站立会议03
  2. Linux下which、whereis、locate、find 命令的区别
  3. JSP 核心标签库
  4. ecshop if标签,超过N条,就输出记录 elseif、库存显示方式
  5. NopCommerce Url分析
  6. Request.GetOwinContext()打不到
  7. HTML 简介
  8. MIT Scheme 使用 Edwin
  9. ASP.NET 5与MVC 6中的新特性
  10. 2015年12月02日 GitHub入门学习(四)Git操作