51nod1154回文串划分
来源:互联网 发布:烤漆哑铃知乎 编辑:程序博客网 时间:2024/06/05 08:34
这道题目刚开始想错了,本来打算每次找到最大的回文串,结果自己给自己驳倒了,比如dabbbbbdb,最长回文子串是bbbbb,结果四个落单,一共是五个,而如果把最后的bdb放在一组,就一目了然了,4个,所以这种是不行的,到底该如何做呢
dp[j]代表了读到第j个字符的时候出现的回文串最小有多少个
k
#include <iostream>using namespace std;const int INF=0x3f3f3f3f;string s;int dp[5005];int main(){ while(cin>>s) { for(int i=1; i<=5005; i++) dp[i]=INF; s=" "+s; dp[0]=0; for(int i=1; i<s.size(); i++) { for(int j=i,k=i; j<s.size()&&k>0; j++,k--) { if(s[j]==s[k]) dp[j]=min(dp[j],dp[k-1]+1); else break; }//奇数回文串 for(int j=i+1,k=i;j<s.size()&&k>0; j++,k--) { if(s[j]==s[k]) dp[j]=min(dp[j],dp[k-1]+1); else break; }//偶数回文串 } cout<<dp[s.size()-1]<<endl; } return 0;}
0 0
- 51nod1154回文串划分
- 【51Nod1154】回文串划分
- 51nod1154(回文串划分)
- 51nod1154(递推)
- 51nod 1154 回文串划分 (DP)
- 51nod 1154:回文串划分
- 51nod 1154 回文串划分
- 51Nod 1154 回文串划分
- 51 Nod 1154 回文串划分
- 51nod 1154 回文串划分
- 【dp】51nod 1154 回文串划分
- 51nod-1154-回文串划分
- 【51nod】1154 回文串划分
- 51nod 1154 回文串划分
- 1154 回文串划分
- 回文串划分
- 回文串划分
- 1154 回文串划分
- APS.NET_MVC5学习笔记 - 将数据从控制器传递给视图
- maven命令创建多模块项目
- Cocos2dx3.10常侍之移驾UBUNTU
- bzoj 1922: [Sdoi2010]大陆争霸 带限制最短路
- HTTP-URL编码函数
- 51nod1154回文串划分
- 指针运用过程中的常见问题
- php实现水仙花数的5个示例
- 修改文件的“所属用户”和“所属组”
- Ubuntu环境下配置mysql
- hdoj ztr loves math 5675 (数学规律)给出一个n问是否有整数解
- mvc版购物车--展示订单页
- Debian 7.0 系统安装
- 第10周项目4-教师兼干部类