ZOJ 1642 Match for Bonus(LCS)
来源:互联网 发布:学雅思的软件 编辑:程序博客网 时间:2024/06/06 17:11
题意:给出每个字符的权值,求两个字符串的子序列能够获得的最多权值.
解法:就是LCS问题,只不过长度变成了权值.
题目里没给出字符长度WA好几次,2300左右就差不多了.
#include <cstdio>#include <algorithm>#include <memory.h>using namespace std;const int MAX = 2200;int dp[MAX][MAX];int bonus[256];char s1[MAX], s2[MAX];int main(int argc, char const *argv[]){int N;while(scanf("%d", &N) == 1){memset(bonus, 0, sizeof(bonus));for(int i = 1; i <= N; ++i){char c[2];int v;scanf("%s %d", c, &v);bonus[c[0]] = max(bonus[c[0]], v);}getchar();memset(dp, 0, sizeof(dp));gets(s1 + 1);gets(s2 + 1);int len1 = strlen(s1 + 1), len2 = strlen(s2 + 1);for(int i = 1; i <= len1; ++i){for(int j = 1; j <= len2; ++j){if(s1[i] == s2[j]){dp[i][j] = dp[i - 1][j - 1] + bonus[s1[i]];}else{dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);}}}printf("%d\n", dp[len1][len2]);}return 0;}
0 0
- ZOJ 1642 Match for Bonus(LCS)
- zoj 1642 Match for Bonus[dp,lcs]
- ZOJ 1642 Match for Bonus
- zoj 1642 Match for Bonus
- ZOJ 1642 Match for Bonus
- zoj 1642 - Match for Bonus
- zoj 1642 Match for Bonus
- ZOJ 1642 Match for Bonus
- ZOJ 1642 Match for Bonus(dp)
- Match for Bonus
- zoj1642——Match for Bonus
- zoj 1733(LCS
- ZOJ 2315 New Year Bonus Grant
- ZOJ - 2315 New Year Bonus Grant
- zoj 2315 New Year Bonus Grant
- Command Complete Bonus Tool for AutoCAD 更新
- ZOJ 1733 Common Subsequence(LCS)
- ZOJ 1093 Monkey Banana(LCS)
- SQL Join的一些总结
- HDU Scaring the Birds
- 自定义Cell的线条
- HDU 4405 Aeroplane chess (概率dp)
- 三角形的构造函数2
- ZOJ 1642 Match for Bonus(LCS)
- 阅读程序a
- 黑马程序员-Oracle 触发器的一些知识
- Linux安装配置php+apache
- java运行时和非运行时异常
- 删除数据,一些案例实在的说明一些代码
- 类的加载、连接和初始化---类的加载
- 三角形的构造函数3
- [易语言]连接MYSQL数据库学习