UVa11584-Partitioning by Palindromes
来源:互联网 发布:pascal语言编程设计 编辑:程序博客网 时间:2024/05/15 18:56
http://uva.onlinejudge.org/external/115/11584.html
将所给的字符串,最少可以分成多少个回文串,dp[i]表示0~i之间最少可以分成的值,然后判断j~i(j <= i)之间是否是回文,如果是回文dp[i] = min(dp[i], dp[j - 1] + 1)
/************************************************************************* > File Name: UVa11584.cpp > Author: AcToy > Mail: ycsgldy@163.com > Created Time: 2013年07月18日 星期四 10时02分17秒 ************************************************************************/#include <algorithm>#include <iostream>#include <cstring>#include <cstdlib>#include <climits>#include <cstdio>#include <string>#include <vector>#include <queue>#include <cmath>#include <stack>#include <map>#include <set>using namespace std;typedef unsigned int u32;typedef long long i64;typedef unsigned long long u64;typedef vector<int> IV;typedef vector<bool> BV;typedef pair<int,int> II;typedef vector<II> IIV;#define For(t,v,c) for(t::const_iterator v=c.begin(); v!=c.end(); ++v)const int INF = 0x7FFFFFFF;const double eps = 1E-10;const double PI = acos(-1);int Case, dp[1010];string str;bool is_pal(int i, int j) {int mid = (j - i) / 2;for(int k = 0; k <= mid; ++k) if(str[i + k] != str[j - k]) return 0;return 1;}int main(){cin >> Case;while(Case--) {cin >> str;int len = str.length();dp[0] = 0;for(int i = 1; i <= len; ++i) {dp[i] = INF;for(int j = 1; j <= i; ++j) {if(is_pal(j - 1, i - 1)) {dp[i] = min(dp[i], dp[j - 1] + 1);}}}printf("%d\n", dp[len]);} return 0;}
- UVa11584-Partitioning by Palindromes
- uva11584 Partitioning by Palindromes
- UVa11584 Partitioning by Palindromes
- uva11584 Partitioning by Palindromes
- UVa11584 Partitioning by Palindromes
- UVA11584---Partitioning by Palindromes(dp)
- UVA11584 - Partitioning by Palindromes - 动态规划
- UVa11584 - Partitioning by Palindromes(动态规划)
- 【动态规划】[UVa11584]Partitioning by Palindromes
- UVA11584-Partitioning by Palindromes(dp)
- UVA11584[Partitioning by Palindromes] 动态规划
- Partitioning by Palindromes
- Partitioning by Palindromes
- Partitioning by Palindromes
- Partitioning by Palindromes uva111584
- Partitioning by Palindromes
- Partitioning by Palindromes UVA
- Partitioning by Palindromes UVA
- JQGrid详解
- initWithNibName和viewDidLoad执行顺序
- 获取系统当前时间
- 网页中插入视频播放代码2
- 基于SpringMVC、MyBatis、FreeMarker架构实战CMS大型门户网站
- UVa11584-Partitioning by Palindromes
- centos修改主机名 解决方案
- c++ 模板
- c++ 反射
- pgRouting 测试手记
- HDU2952 Counting Sheep
- poj 3895 dfs找图中最大环
- Luke使用
- Unix高级环境编程 学习