POJ-3267-The Cow Lexicon(简单DP)
2017-04-30 16:04
417 查看
题意:给你一个长的字符串,然后在给你几个短的字符,需要从长字符串中减去几个字符之后,那几个短字符串才能组成一个长字符串(短字符串不一定全部用到)
解题思路:定义dp[j] 为从j到len 需要减去dp[j] 个字符。
解题思路:定义dp[j] 为从j到len 需要减去dp[j] 个字符。
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; int dp[305]; char mess[305]; char dict[605][305]; int main() { int dictN, messL; while (~scanf("%d%d", &dictN, &messL)) { memset(dp, 0, sizeof(dp)); scanf("%s", mess); for (int i = 0; i < dictN; i++) { scanf("%s", dict[i]); } for (int i = messL - 1; i >= 0; i--) { dp[i] = dp[i + 1] + 1; for (int j = 0; j < dictN; j++) { int len = strlen(dict[j]); if (len <= messL - i && dict[j][0] == mess[i]) { int pDict = 1; int pMess = i + 1; while (pMess < messL) { if (mess[pMess] == dict[j][pDict]) { pDict++; } pMess++; if (pDict == len) { dp[i] = min(dp[i] , dp[pMess] + (pMess - i - len)); break; } } } } } printf("%d\n", dp[0]); } return 0; }
相关文章推荐
- POJ 3267 The Cow Lexicon 简单dp
- POJ 3267 The Cow Lexicon (简单DP)
- POJ-3267 The Cow Lexicon 简单DP
- poj 3267 The Cow Lexicon(dp)
- POJ 3267-The Cow Lexicon(DP)
- poj-3267 The Cow Lexicon【dp】
- poj 3267 The Cow Lexicon dp
- POJ 3267-The Cow Lexicon(DP处理字符串)
- poj 3267 The Cow Lexicon DP 动态规划
- poj_3267 The Cow Lexicon(dp)
- POJ 3267 The Cow Lexicon(DP)
- POJ 3267 The Cow Lexicon DP
- POJ 3267-The Cow Lexicon(DP)
- POJ 3267-The Cow Lexicon(dp_字符串)
- POJ 3267 The Cow Lexicon DP
- poj 3267 The Cow Lexicon (dp)
- POJ 3267:The Cow Lexicon 字符串匹配dp
- POJ 3267 The Cow Lexicon (DP)
- POJ_3267_The Cow Lexicon ( DP )
- POJ-3267-The Cow Lexicon-DP