NYOJ 749 Splits the string
2013-11-12 14:10
288 查看
题目链接~~>
动态转移方程:dp[i] = min( dp[i] , dp[j-1]+1 )。
代码:
动态转移方程:dp[i] = min( dp[i] , dp[j-1]+1 )。
代码:
#include<stdio.h> #include<string.h> int h ; char s[1005] ; int dp[1005] ; int check(int rt,int le) // 判断是否是回文 { while(le<=rt) { if(s[le++]!=s[rt--]) return 0 ; } return 1 ; } int main() { int i,j ; while(scanf("%s",s+1)!=EOF) { memset(dp,0,sizeof(dp)) ; h=strlen(s+1) ; for(i=1 ;i<=h ;i++) { dp[i]=i ; for(j=1 ;j<=i ;j++) if(s[i]==s[j]&&check(i,j)) { dp[i]=dp[i] < dp[j-1]+1 ? dp[i] : dp[j-1]+1 ; break ; // 加个break ;稍微快点 } } printf("%d\n",dp[h]) ; } return 0 ; }
相关文章推荐
- 单选复选(喜欢)
- Mysql Binlog三种格式介绍及分析(转)
- SCP 命令
- sql中的join的使用
- 苹果新手Mac OS X 使用笔记--------系统目录结构
- 使用 HTML5 canvas 绘制精美的图形
- Android Activity
- 逆序数
- Android 两张图片相互淡出
- 《深入理解JAVA虚拟机》笔记
- 转自淘宝的storm简介
- 64位Windows 2008/7下配置IIS+PHP出现404.17错误的解决办法
- ftpClient上传文件详解
- 精选7款绚丽的HTML5和jQuery图片动画特效
- 傅立叶变换
- android手机系统adb常用的命令
- 无需密码通过ssh执行rsync来同步文件
- oracle查看系统存储过程
- Android之GPS定位详解
- 无需密码通过ssh执行rsync来同步文件