UVA 11584 DP水题
2013-09-20 18:29
225 查看
刘汝佳胖胖的那本白书钦点的DP水题
因为数据量比较小,所以我才敢用最渣的方法来做
DP公式为: DP[i] = min(DP[i], DP[j] + 1)后面的DP[j] + 1为j + 1到i的子串为回文串的情况
因为数据量比较小,所以我才敢用最渣的方法来做
DP公式为: DP[i] = min(DP[i], DP[j] + 1)后面的DP[j] + 1为j + 1到i的子串为回文串的情况
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; char st[1100]; int n; int DP[1100]; bool ispa(int, int); int main() { while(scanf("%d", &n) != EOF) { scanf("%s", st + 1); int len = strlen(st + 1); DP[1] = 1; DP[0] = 0; for(int i = 2; i <= len; i++) { DP[i] = DP[i - 1] + 1; for(int j = 1; j < i; j++) { if(DP[i] == 1) break; if(ispa(j, i)) DP[i] = min(DP[i], DP[j - 1] + 1); } } printf("%d\n", DP[len]); } } bool ispa(int l, int r) { for(int i = l; i <= (l + r + 1) / 2; i++) if(st[i] != st[r + l - i]) return false; return true; }
相关文章推荐
- UVA-11584-Partitioning by Palindromes(区间DP 最小回文串数量)
- UVA 11584 Partitioning by Palindromes——dp
- UVA11584---Partitioning by Palindromes(dp)
- Uva 11584 Partitioning by Palindromes(区间dp)
- 【UVA 11584】【简单dp】Partitioning by Palindromes【给定一个字符串, 问最少分为几部分可使各部分均为回文串】
- (UVA - 11584) Partitioning by Palindromes(DP,划分的最小回文串个数)
- UVA11584 简单DP优化
- uva 10891 Game of Sum (DP水题)
- UVa11584 - Partitioning by Palindromes(dp)
- UVA 11584 - Partitioning by Palindromes DP
- UVA 题目11584 - Partitioning by Palindromes(DP)
- uva 11584 - Partitioning by Palindromes(简单dp)
- UVA 11584 Partitioning by Palindromes DP
- UVa 11584 - Partitioning by Palindromes(简单DP)
- uva 11584 dp
- uva11584 划分成回文串 线性dp
- UVA 11584 - Partitioning by Palindromes DP
- Partitioning by Palindromes UVA - 11584(线性dp)
- uva 11584 Partitioning by Palindromes 线性dp
- UVa 11584 划分回文串( 简单dp )