uva11584 Partitioning by Palindromes
题目大意:
给出一个字符串,把他划分成尽量少的回文串,问最少的回文串个数
/*
先预处理所有回文子串
dp[i]表示字符1~i划分成的最小回文串的个数
*/
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int t,dp[];
char s[];
bool p[][];
int main(){
//freopen("Cola.txt","r",stdin);
scanf("%d",&t);
while(t--){
scanf("%s",s+);
int len=strlen(s+);
memset(p,,sizeof(p));
memset(dp,/,sizeof(dp));
for(int i=;i<=len;i++){
int l=i,r=i;
p[i][i]=;
while(l>&&r<len){
l--;r++;
if(s[l]==s[r]){
p[l][r]=p[r][l]=; }
else break;
}
l=i+;r=i;
while(l>&&r<len){
l--;r++;
if(s[l]==s[r]){
p[l][r]=p[r][l]=;
}
else break;
}
}
dp[]=;dp[]=;
for(int i=;i<=len;i++){
for(int j=;j<i;j++){
if(p[j+][i]){
dp[i]=min(dp[i],dp[j]+);
}
}
}
printf("%d\n",dp[len]);
}
}
uva11584 Partitioning by Palindromes的更多相关文章
- 【题解】UVA11584 Partitioning by Palindromes
UVA11584 https://www.luogu.org/problemnew/show/UVA11584 暑假开始刷lrj紫/蓝书DP题 这几天做的一道 思路 预处理出所有的回文串是否存在 前提 ...
- UVA-11584 Partitioning by Palindromes 动态规划 回文串的最少个数
题目链接:https://cn.vjudge.net/problem/UVA-11584 题意 给一个字符串序列,问回文串的最少个数. 例:aaadbccb 分为aaa, d, bccb三份 n< ...
- UVa11584 - Partitioning by Palindromes(区间DP)
题目大意 给定一个小写字母组成的字符串S,你的任务是划分成尽量少的回文串 题解 方程就是dp[j]=min(dp[i-1]+1)(i<=j,s[i..j]是回文串) 代码: #include&l ...
- UVA-11584 Partitioning by Palindromes (简单线性DP)
题目大意:给一个全是小写字母的字符串,判断最少可分为几个回文子序列.如:“aaadbccb” 最少能分为 “aaa” “d” “bccb” 共三个回文子序列,又如 “aaa” 最少能分为 1 个回文子 ...
- UVA - 11584 Partitioning by Palindromes[序列DP]
UVA - 11584 Partitioning by Palindromes We say a sequence of char- acters is a palindrome if it is t ...
- UVA 11584 一 Partitioning by Palindromes
Partitioning by Palindromes Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %l ...
- uva 11584 Partitioning by Palindromes 线性dp
// uva 11584 Partitioning by Palindromes 线性dp // // 题目意思是将一个字符串划分成尽量少的回文串 // // f[i]表示前i个字符能化成最少的回文串 ...
- 区间DP UVA 11584 Partitioning by Palindromes
题目传送门 /* 题意:给一个字符串,划分成尽量少的回文串 区间DP:状态转移方程:dp[i] = min (dp[i], dp[j-1] + 1); dp[i] 表示前i个字符划分的最少回文串, 如 ...
- UVA-11584:Partitioning by Palindromes(基础DP)
今天带来一个简单的线性结构上的DP,与上次的照明系统(UVA11400)是同一种类型题,便于大家类比.总结.理解,但难度上降低了. We say a sequence of characters is ...
随机推荐
- 关于JavaScript中prototype机制的理解
最近几天一直在研究JavaScript中原型的机制,从开始的似懂非懂,到今天终于有所领悟.不敢说彻底理解,但是起码算知道怎么回事了. 为什么一开始似懂非懂 开始了解一遍原型机制后,感觉知其然但不知其所 ...
- 将socket通信实现多进程
我们知道,使用TCP协议需要提前建立连接,这样就只能一对一的传输,但是这样感觉十分单一,如果实现一个服务器能同时和多个客户端同信了? 这里就需要用到多线程. 处理的不同之处就在于:每一个接进来的客户都 ...
- appium-andriod自动化实现注意项
注意项: 1.appium需要全局安装,否则run test case 报错“appium not installed” 2.启动appium命令 node /Applications/Appium. ...
- SecureCRT连接Ubuntu失败(远程系统拒绝访问)
SecureCRT连接Ubuntu失败,长时间的重新连接,连接不了. Ubuntu默认未安装ssh远程加密连接服务. 使用命令,安装即可. sudo apt-get install openssh-s ...
- PHP5.3之后的新特性【转】
http://blog.csdn.net/black_ox/article/details/21163193
- 51nod1671【货物运输】
开始天真的我以为这道题和运输计划是一样的套路.于是写了一发,debug后发现过了第一个点,十分开心的交了一发,结果只过了第一个点.后来发现这个并不是一样的,因为修建黑洞之后路径法变了,而运输计划没有( ...
- python-多线程2-线程同步
线程同步: 一个场景: 一个列表里所有元素都是0,线程A从后向前把所有元素改成1,而线程B负责从前往后读取列表并打印. 那么,可能线程A开始改的时候,线程B便来打印列表了,输出就变成一半0一半1,这就 ...
- 剑指OFFER18 判断一个二叉树的子树
public class a18_IsSubTree { public static boolean hasSubTree(TreeNode treeRoot1, TreeNode treeRoot2 ...
- bzoj 1657 [Usaco2006 Mar]Mooo 奶牛的歌声——单调栈水题
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1657 #include<iostream> #include<cstdio ...
- CF 438 E & bzoj 3625 小朋友和二叉树 —— 多项式开方
题目:http://codeforces.com/contest/438/problem/E https://www.lydsy.com/JudgeOnline/problem.php?id=3625 ...