UVA 11584 Partitioning by Palindromes
2016-07-13 16:25
232 查看
#include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm> #include<cmath> #include<vector> using namespace std; const int maxn=1000+5; int P[maxn][maxn]; string s; int d[maxn]; // d(i) 1~i 的最小回文串的数目 int judge(int i,int j) { if(P[i][j]!=-1) return P[i][j]; if(s[i]==s[j]) return P[i][j]=j-i<=1?1:judge(i+1,j-1); else return P[i][j]=0; } int main() { int n; cin>>n; while(n--) { cin>>s; memset(P,-1,sizeof(P)); for(int i=0;i<s.length();i++) { d[i]=(i?d[i-1]:0)+1; for(int j=0;j<i;j++) if(judge(j,i)) d[i]=min(d[i],(j?d[j-1]:0)+1); } // for(int i=0;i<s.length();i++) cout<<d[i]<<' '; // cout<<endl; cout<<d[s.length()-1]<<endl; } return 0; }
相关文章推荐
- 查看计算机信息
- 天津招聘Jave,网页设计师,3D建模工程师
- springMVC web项目 数据库用户名密码加密解密
- 部署Orchester 2012 R2
- Windows端Apache的域名映射
- JZOJ 1422. 猴子摘桃
- AD账户UserAccountControl对应的值
- 安卓时间相关的广播(Intent.ACTION_TIME_TICK)
- SnapKit配置过程记录
- iOS 屏幕尺寸、分辨率、适配
- 安装SCCM2012 R2
- 部署SCCM2012之先SQL Server安装
- 部署SCCM2012之先决条件准备
- 观察者模式
- twig引用模板
- Outlook中撤回已发送的邮件
- React 入门实例教程
- 如何批量添加和删除SMTP地址
- Qt学习之路(56): 二进制文件读写
- UVA 10420 - List of Conquests