简单dp
星空彡
这个作者很懒,什么都没留下…
展开
-
POJ-1159-Palindrome(简单dp)
题意:给你一个字符串,添加n个字符,使字符串变成回文字符串,求最小的n; 解题思路:设原字符串为strL,长度为len, 则strR为它的反向字符串。然后求出strL,strR两个字符串的最长公共子序列m.则最小的n为:len - m 还有应该注意的是如果dp数组是 len*len 话,内存会爆。所以要用滚动数组来写,dp数组大小开 2*n; 原因是: for (int i = 1; i <=原创 2017-04-28 19:55:27 · 185 阅读 · 0 评论 -
POJ-3267-The Cow Lexicon(简单DP)
题意:给你一个长的字符串,然后在给你几个短的字符,需要从长字符串中减去几个字符之后,那几个短字符串才能组成一个长字符串(短字符串不一定全部用到) 解题思路:定义dp[j] 为从j到len 需要减去dp[j] 个字符。#include <cstdio> #include <cstring> #include <algorithm> using namespace std; int dp[305];原创 2017-04-30 16:04:59 · 233 阅读 · 0 评论