uva 11584 题目大意: 给一个字符串, 要求把它分割成若干个子串,使得每个子串都是回文串。问最少可以分割成多少个。
来源:互联网 发布:jquery.min.js.dump 编辑:程序博客网 时间:2024/04/28 16:56
题目大意:
给一个字符串, 要求把它分割成若干个子串,使得每个子串都是回文串。问最少可以分割成多少个。
#include<stdio.h>#include<vector>#include<map>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm>using namespace std;char a[1010];int d[1010];int work(char c[],int st,int et){ int i,j,len,k; while(st<et) { if(a[st]!=a[et]) return 0; st++; et--; } return 1; /*for(i=st,k=et;i<=(et-st+1)/2;i++,k--) {// if(et==5)// printf("%d %d\n",i,k); if(a[i]!=a[k]) return 0; } return 1;*/}int main(){ int i,j,k,n,m; scanf("%d",&n); while(n--) { scanf("%s",a); int len=strlen(a); d[0]=1; for(i=1;i<len;i++) { d[i]=d[i-1]+1; for(j=0;j<i;j++) {if(a[i]==a[j]&&work(a,j,i)){ if(j!=0)d[i]=min(d[i],d[j-1]+1);else d[i]=1; } } }// for(i=0;i<len;i++)// printf("%d ",d[i]);// printf("%d\n",work(a,1,5)); printf("%d\n",d[len-1]); } return 0;}
0 0
- uva 11584 题目大意: 给一个字符串, 要求把它分割成若干个子串,使得每个子串都是回文串。问最少可以分割成多少个。
- 把一个字符串用指定的字符作为分隔符分割成若干个子串输出
- 分割字符串为回文串(每一个子串都是回文串)
- 将字符串分割成若干个子字符串
- 给定一个字符串,切分该字符串,使得到的子串都是回文字符串,计算最少的切分次数。
- 写一个函数,用来把一个字符串用指定的字符作为分隔符分割成若干个子串输出 | 写一个函数,用来返回一个字符串中重复出现的最长字串的长度及其开始地址
- 题目:分割回文串
- 经典问题:字符串可分割成多少个相同重叠/不重叠子串(2087)
- 字符串分割成字串都是回文
- 题目:分割回文串 II
- Palindrome Partitioning 分割成回文子字符串
- 一个字符串分割成多个子字符串传入SQL
- hdu 4416 后缀自动机 问在S中有多少个不同子串满足它不是s1~sn中任意一个字符串的子串
- sql自定义函数:SF_Split,根据指定的分割符,把一个字符串分割成若干条短数据
- 把一个数组按照指定的数组大小分割成若干个数组块
- 通过最长公共子串求得使得一个串变为回文串的最少添加字符
- 【UVA 11584】【简单dp】Partitioning by Palindromes【给定一个字符串, 问最少分为几部分可使各部分均为回文串】
- 20170604_分割成回文串
- Python字符串操作
- RGB与YCbCr颜色空间的转换
- linux系统-文件系统-常用命令
- 运行地址和加载地址
- 一台机器、两个tomcat
- uva 11584 题目大意: 给一个字符串, 要求把它分割成若干个子串,使得每个子串都是回文串。问最少可以分割成多少个。
- cesiumjs开发实践(三)
- 第六周项目一 深复制体验(2)
- 轻量级程序编辑器的选择:EmEditor、Editplus等---Web开发系列之工具篇
- C语言typeof详解
- iOS开发之通知机制——UIDevice通知、键盘通知
- 单调队列 | 线段树 | 一维RMQ —— POJ 2823
- Servlet和JSON传送与接收
- Boost Asio库的学习与探究(二)