UVA11584PartitioningByPalindromes
来源:互联网 发布:mac可以玩跑跑卡丁车吗 编辑:程序博客网 时间:2024/06/11 08:21
//UVA11584PartitioningByPalindromes#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int MAXN = 1e3 + 5;char vis[MAXN][MAXN], s[MAXN];int dp[MAXN];//dp[i]为以第i个字母为结尾的最短回文单词 char bo[MAXN][MAXN];//记录两点之间是否存在回文 bool Is_palindrome(int i, int j) {if(i >= j) return true;if(s[i] != s[j]) return false;if(vis[i][j]) return bo[i][j];vis[i][j] = true;//记忆化搜索bo[i][j] = Is_palindrome(i + 1, j - 1);return bo[i][j]; }int main() {int n;scanf("%d", &n);while(n--) {scanf("%s", s + 1);memset(dp, 0, sizeof(dp));memset(vis, 0, sizeof(vis)); dp[0] = 0;int len = strlen(s + 1);for(int i = 1; i <= len; i++) {dp[i] = i;for(int j = 0; j < i; j++) {if(Is_palindrome(j + 1, i)) dp[i] = min(dp[i], dp[j] + 1);//若j+1与i之间有回文 //printf("dp = %d, i = %d\n", dp[i], i);}}printf("%d\n", dp[len]); }return 0;}/*3racecarfastcaraaadbccb*/
阅读全文
0 0
- UVA11584PartitioningByPalindromes
- POJ 2528 Mayor's posters(加分割点)
- Android Webview 用 WebBackForwardList 来判断是否是返回的界面
- 1030. 完美数列(25)
- HDU 1569 find the safest road
- 1111. Online Map (30)
- UVA11584PartitioningByPalindromes
- Lazarus控件中控件尺寸变化的处理机制
- spring framework入门
- c语言笔记-printf()格式化输出详解
- Python爬内蒙古大学教务处并自动计算绩点(小窗体版)
- Linux下通过yum安装软件
- 链表与顺序表的区别
- deepin安装jetbrain系列破解+究竟装到哪里了
- Java 浮点数 float和double类型的表示范围和精度