回文最小划分次数(dp之路)
来源:互联网 发布:新手怎样开淘宝店 编辑:程序博客网 时间:2024/05/22 04:35
题目:
对输入的字符串划分为一组回文字符串,最小的分割次数
转换方程:dp[j]=min(dp[j],dp[k-1]+1)
代码:
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int inf=0x3f3f3f3f;const int maxn=5000+10;char a[maxn];int dp[maxn];int main(){ int i,j,k,n; while(scanf("%s",a+1)!=EOF) { n=strlen(a+1); dp[0]=0; for(i=1; i<=n; i++) dp[i]=inf; for(i=1; i<=n; i++) { for(j=i,k=i; j<=n&&k>0; j++,k--) { if(a[j]==a[k]) dp[j]=min(dp[j],dp[k-1]+1); else break; } for(j=i+1,k=i; j<=n&&k>0; j++,k--) { if(a[j]==a[k]) dp[j]=min(dp[j],dp[k-1]+1); else break; } } printf("%d\n",dp[n]); } return 0;}
0 0
- 回文最小划分次数(dp之路)
- 回文串最小划分 dp
- LeetCode一道题:回文数划分的最小次数
- 最小回文串划分
- 动态规划 之 回文序列的最小划分
- 划分dp,区间差最小
- uva11584 dp最少回文串划分
- 51nod 1154 回文串划分 (DP)
- UVa 11584 划分回文串( 简单dp )
- 【dp】51nod 1154 回文串划分
- 1154 回文串划分(dp)
- 【DP】回文的最小分割数
- 【DP】回文的最小分割数2
- leetcode回文子串拆分-最小拆分次数
- 最长匹配子序列 和 删除次数最小形成回文
- DP算法之整数划分
- 51nod 1154回文串划分 dp+递推
- uva 11584Partitioning by Palindromes dp(最少回文串划分)
- Hue安装配置实践
- hdu 1027 Ignatius and the Princess II (全排列)
- 噩梦射手(SurvivalShooter)教程(四)
- 命令行编译运行java程序
- ubuntu中将本地文件上传到服务器
- 回文最小划分次数(dp之路)
- Executor/ExecutorService和ExecutorCompletionService
- MyEclipse快捷键整理
- java并发编程总结(2)----显示锁
- android developer tiny share-20170207
- Java内存区域
- SQL SERVER——内存问题定位与解决
- 2017-02-07 时序图
- 数据库设计中的14个常用技巧