UVA 11584 Partitioning by Palindromes
来源:互联网 发布:php 二进制转base64 编辑:程序博客网 时间:2024/05/18 18:16
题目大意:给你一个字符串,问你最少能分为几个连续的回文串。
思路:简单DP,用d[ i ] 表示从头到i这个位置最少能分为几个,状态方程为 d[ i ] = min(d[ j ]+1,j<i&&str[j+1~i]是回文串)。
先开始想到这个,一算复杂度,感觉有点太高了,会TLE,还上网看了下别人的,一看人家AC代码思路和我一样,复杂度也是这个,就果断马上敲了,50ms就过了,囧。。 唉,有时候真不能太纠结于复杂度,很少有这种极限数据的。。
代码如下:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int INF = 0x0fffffff ;char str[1111];int is(int i,int j ){ while(i<j) { if(str[i]!=str[j]) return 0; i++; j--; } return 1;}int d[1111];int main(){ int T; scanf("%d",&T); while(T--) { scanf("%s",str+1); int len = strlen(str+1); d[0]=0; for(int i = 1 ;i<=len;i++) { d[i] = INF; for(int j = i-1;j>=0;j--) { if(is(j+1,i)) d[i] = min(d[i],d[j]+1); } } printf("%d\n",d[len]); } return 0;}
- Uva 11584 - Partitioning by Palindromes
- UVa 11584 - Partitioning by Palindromes
- Uva-11584-Partitioning by Palindromes
- UVA 11584 - Partitioning by Palindromes
- UVA 11584 Partitioning by Palindromes
- UVA 11584 Partitioning by Palindromes
- UVA 11584 Partitioning by Palindromes
- UVA - 11584 Partitioning by Palindromes
- UVa:11584 Partitioning by Palindromes
- UVA 11584 Partitioning by Palindromes
- UVA 11584Partitioning by Palindromes
- UVA 11584 - Partitioning by Palindromes
- UVA 11584 Partitioning by Palindromes
- Uva 11584 Partitioning by Palindromes
- UVa 11584 Partitioning by Palindromes
- UVA - 11584 Partitioning by Palindromes
- UVA 11584 Partitioning by Palindromes
- UVA 11584 Partitioning by Palindromes
- 《因为痛,所以叫青春》书摘--第三、四章
- 将博客搬至CSDN
- 嵌入式驱动开发的前期Linux 和 C学习(三)
- css 背景透明,文字不透明,alpha滤镜,opacity,position:relative;
- eclipse离线安装adt-21.1
- UVA 11584 Partitioning by Palindromes
- uC/OS事件标志组(event flag
- mysql
- 推送通知iOS客户端编写实现及推送服务器端编写
- C++的引用的使用
- asp.net中网页间传递参数用什么方法比较
- Activiti用Api创建数据库表
- C程序之4:向量归并排序
- 监听无响应,同时发现两个Listener