51Nod 1154 回文串划分
来源:互联网 发布:有思度软件 编辑:程序博客网 时间:2024/06/05 03:55
有一个字符串S,求S最少可以被划分为多少个回文串。
例如:abbaabaa,有多种划分方式。
a|bb|aabaa - 3 个回文串
a|bb|a|aba|a - 5 个回文串
a|b|b|a|a|b|a|a - 8 个回文串
其中第1种划分方式的划分数量最少。
Input
输入字符串S(S的长度<= 5000)。
Output
输出最少的划分数量。
Input示例
abbaabaa
Output示例
3
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define MAXN 5015char a[MAXN];int dp[MAXN];int main(){int n;while(scanf("%s",a+1)!=EOF) {n=strlen(a+1);dp[0]=0;for(int i=1;i<=n;i++) dp[i]=1<<30;for(int i=1;i<=n;i++) {for(int 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(int 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
- 51nod 1154 回文串划分 (DP)
- 51nod 1154:回文串划分
- 51nod 1154 回文串划分
- 51Nod 1154 回文串划分
- 51 Nod 1154 回文串划分
- 51nod 1154 回文串划分
- 【dp】51nod 1154 回文串划分
- 51nod-1154-回文串划分
- 【51nod】1154 回文串划分
- 51nod 1154 回文串划分
- 51nod 1154回文串划分 dp+递推
- 51Nod-1154-回文串划分
- 【51Nod】1154 - 回文串划分(dp)
- 51NOD 1154 回文串划分 【DP+Manacher】
- 51nod 1154 回文串划分(dp)
- 1154 回文串划分
- 1154 回文串划分
- 51nod1154回文串划分
- [翻译]iser是什么?
- 【BZOJ 3932】[CQOI2015]任务查询系统 主席树
- RequestDispatcher.forward() 与 HttpServletResponse.sendRedirect()的区别
- 设置ViewPager的切换动画时间
- ELF格式分析
- 51Nod 1154 回文串划分
- 第十六周 项目1--验证算法(7)--归并排序
- 在安卓开发中调用手机相册,相机,选择相片裁剪并上传
- java获取当前类类名
- 基于 Token 的身份验证
- POJ_3299 Humidex(简单题)
- Animation简单效果
- css笔记:CSS显示图片中间区域
- 魔方阵