UVA 11584 Partitioning by Palindromes
d[i]表示从1~i位最小回文子串数(下标按从1开始),d[i]=min(d[i],d[j]+1|j+1到i为回文串)。
正确性证明:考虑添加第i位字母,有两种情况:
1.第i位自成一回文串。
2.第j+1位到第i位为一回文串。
枚举所有1、2情况即可求得d[i]。
#include<iostream>
#include<cstring>
using namespace std;
int n,d[1005];
bool p[1005][1005];
int main()
{string s;cin>>n;for(int i=1;i<=n;i++){cin>>s;int l=s.length();for(int j=0;j<l;j++){for(int k=0;k<=l;k++)if(s[j+k]==s[j-k]&&j+k<l&&j-k>=0)p[j-k+1][j+k+1]=1;elsebreak;}for(int j=0;j<l-1;j++)if(s[j]==s[j+1])for(int k=0;k<=l;k++)if(s[j-k]==s[j+1+k]&&j-k>=0&&j+1+k<l)p[j-k+1][j+k+2]=1;elsebreak;memset(d,0x3f3f3f,sizeof(d));d[0]=0;for(int j=1;j<=l;j++)for(int k=1;k<=j;k++)if(p[k][j])d[j]=min(d[j],d[k-1]+1);cout<<d[l]<<endl;memset(p,0,sizeof(p));}return 0;
}
UVA 11584 Partitioning by Palindromes相关推荐
- UVA 11584 Partitioning by Palindromes (字符串区间dp)
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- UVA - 11584 Partitioning by Palindromes(划分成回文串)(dp)
题意:输入一个由小写字母组成的字符串,你的任务是把它划分成尽量少的回文串,字符串长度不超过1000. 分析: 1.dp[i]为字符0~i划分成的最小回文串的个数. 2.dp[j] = Min(dp[j ...
- UVA 11584 Partitioning by Palindromes 动态规划 入门
这个题目的大意就是,给你一个字符串,然后让你求出最少的回文数.我开始傻逼了,写了一个o(n^3)的算法,结果老超时.然后略看了别人的题解,才知道有个如此的转移方程. f[i+1]=min(f[j]+1 ...
- UVA 11584—— Partitioning by Palindromes
题意:给定一个串,然后问最少可以分割成多少个回文串. 思路:简单dp,dp[i]=min(dp[j]+1,1<j<=i),两次循环扫一遍即可,考察dp的思想. code: #include ...
- uva 11584——Partitioning by Palindromes
题意:给定一个字符串,把该字符串划分为最少的回文串. 思路:dp,到达i点的回文串长度都存起来,那么dp[i]=min(以i为结尾的最短的回文串长度). code: #include <bits ...
- UVA11584 划分成回文串 Partitioning by Palindromes(线性DP划分+DP判断回文串)
整理的算法模板合集: ACM模板 依旧是线性DP 我们使用闫氏DP分析法 总体DP转移的时间复杂度为O(n2)O(n^2)O(n2). 但是这里牵扯到判断 i\tt ii 到 j\tt jj 是否为回 ...
- uva11584 Partitioning by Palindromes
题目大意: 给出一个字符串,把他划分成尽量少的回文串,问最少的回文串个数 /*先预处理所有回文子串dp[i]表示字符1~i划分成的最小回文串的个数 */ #include<iostream> ...
- 回文串 --- 动态dp UVA 11584
题目链接: https://cn.vjudge.net/problem/34398/origin 本题的大意其实很简单,就是找回文串,大致的思路如下: 1. 确定一个回文串,这里用到了自定义的chec ...
- uva 11584 - 字符串 dp
题目链接 一个长度1000的字符串最少划分为几个回文字符串 ---------------------------------------------------------------------- ...
- UVa在线比赛单题汇总-----DP专题
动态规划基础 例题 LA 3882 UVa 3882 - And Then There Was One 递推------------无力orz UVa 10635 10635 - Prince and ...
最新文章
- Oracle初始化参数含义
- CentOS6中怎样将jdk1.7升级到1.8
- wpf Command Binding
- imx6的kernel3.4.15启动流程
- 重磅:微信小程序开放公测了!
- SpringBoot+Vue表单文件上传
- SpringCloud学习之网关gateway
- java url 协议_Java自定义URL协议
- asp.net core的TagHelper简单使用
- 《剑指Offer》面试题6 重建二叉树——勘误
- 基于单片机的人体心率脉搏检测系统
- html5创新创业模板,大学生创新创业计划书模板完整版.doc
- VSCODE Vue插件
- Ipad IOS 蓝牙键盘快捷键
- 用esp8266远程定时开机
- 如何快速剪辑音频,简单易上手
- 自然数、整数、有理数、实数、无理数
- Centos7系统安装yum遇到的问题failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try. http:
- Apache日志分割——rotatelogs、cronolog
- 高性能(无需判重)批量生成优惠券码方案