题意:射击演习中,已知敌人出现的种类顺序,以及自己的子弹种类顺序,当同种类的子弹打到同种类的敌人时会得到相应分数,问最多能得多少分。

这题的题意很好理解,而且模型也很常见,是带权值的类最长公共子序列问题。但是我 WA 了四发```第一发,t 定义了两次,并执意要从下标 1 开始读(这个貌似没问题的)。第二次是改了之后 dp 数组的转移方程没有写对。第三 WA 是改了转移方程还是没有改对Orz ,第四 WA 是```我的内心几乎是崩溃的,恩,还是没有改对……

 1 #include<stdio.h>
 2 #include<string.h>
 3 #define max(a,b) a>b?a:b
 4
 5 int dp[2105][2105],v[30];
 6
 7 int main(){
 8     char s1[50],s2[2105],s3[2105];
 9     int n;
10     while(scanf("%d",&n)!=EOF){
11         scanf("%s",s1);
12         int i,t,j,ans=0;
13         for(i=0;i<n;i++){
14             scanf("%d",&t);
15             v[s1[i]-'a']=t;
16         }
17         memset(dp,0,sizeof(dp));
18         scanf("%s%s",s2,s3);
19         int l2=strlen(s2),l3=strlen(s3);
20         for(i=1;i<=l2;i++){
21             for(j=1;j<=l3;j++){
22                 if(s2[i-1]==s3[j-1]){
23                     dp[i][j]=dp[i-1][j-1]+v[s2[i-1]-'a'];
24                 }
25                 else {
26                     dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
27                 }
28                 ans=max(ans,dp[i][j]);
29             }
30         }
31         printf("%d\n",ans);
32     }
33     return 0;
34 }

View Code

转载于:https://www.cnblogs.com/cenariusxz/p/4322446.html

hdu1243 dp (类最长公共子序列)相关推荐

  1. nyoj 36 最长公共子序列 dp问题最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共

    最长公共子序列 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列. tip:最长公共子序列也称 ...

  2. POJ 1458 Common Subsequence DP LCS 最长公共子序列

    最长公共子序列,照抄<算法设计与分析导论>P138-140 设输入的两个字符串分别为a1,a2,```,am(串a) b1,b2,````,bn(串b) 设d(i,j)为字符串a1,a2, ...

  3. leetcode 583. Delete Operation for Two Strings | 583. 两个字符串的删除操作(最长公共子序列,DP)

    题目 https://leetcode.com/problems/delete-operation-for-two-strings/ 题解 本题实质上是个最长公共子序列问题,又是经典的 递归-> ...

  4. 序列代码UVa 111 History Grading (最长公共子序列)

    每日一贴,今天的内容关键字为序列代码 题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&p ...

  5. 2192-Zipper 求最长公共子序列的解题报告

    主要的思考方向就是求dp里面的最长公共子序列.至于字符串本身的判别并不是重点. 根据网上poj的分类,这个题是dp求最长公共子序列,其实用暴力的方法也能通过.暴力的方法比较简单就不多说了.主要讲讲dp ...

  6. python实现最长公共子序列(LCS)

    1.找到公共子序列的长度 若a为空或b为空,最长公共子序列为0 若a[m-1] == b[n-1](a的最后一个元素 == b的最后一个元素),那么a[:m]和b[:n]的公共子序列就是a[:m-1] ...

  7. HDU1159(dp最长公共子序列)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159 Common Subsequence Problem Description A subsequ ...

  8. NYOJ 36 最长公共子序列 dp

    最长公共子序列 点击打开链接时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列. tip:最长公共子序 ...

  9. DP专辑之最长公共子序列及其变形

    vijos1111(裸的最长公共子序列) 链接:www.vijos.org/p/1111 题解:好久没有写最长公共子序列了,这题就当是复习了.求出最长公共子序列,然后用两个单词的总长度减去最长公共子序 ...

最新文章

  1. android 酷狗demo_Android仿酷狗旋转界面功能-自定义控件实现
  2. 【maven插件】maven-resources-plugin
  3. Datalore:用于机器学习可视化的新Web方案!
  4. python实现矩阵叉乘_矩阵乘法的纯Python实现 | 离开Python库!!
  5. [react] 为何说虚拟DOM会提高性能?
  6. Error:Protocol family unavailable
  7. mysql 的标识符_MySQL查询或标识符在Jupyter中太长?
  8. Python使用wxpython制作简单文本编辑器
  9. html.dropdownlist 设置默认值,设置Html.DropDownList()的默认值
  10. 数模美赛备赛-MATLAB基操勿六
  11. laravel-admin下使用header头下载
  12. 第一篇:wine介绍
  13. 【基金申报】研究目标、内容、方案之间的区别,一文全了解
  14. 网付「收钱云音箱」二代全新上市!
  15. 度阴山先生的《知行合一王阳明》有感
  16. 鲜枣课堂-文章分类目录(2019.7.28更新)
  17. python中的global是什么意思_Python中的global关键字,你了解吗?
  18. Crypto 学习第二天
  19. 科技节图像后期处理二等奖作品---陪伴是最长情的告白
  20. 仿金山打字通游戏 Java代码

热门文章

  1. 成功编译Webkit-cairo
  2. 【Linux】Linux的关机和虚拟机克隆、快照
  3. CMM已经落伍了,敏捷才是王道
  4. 程序员,学会这些技能让你的薪资翻倍!
  5. 错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 1099; nested exception is
  6. 如何学习前端开发,有哪些前端教程,前端学习路线图?
  7. c语言单词的一个字母变换,c语言:输入一行英文字符串,把每个单词第一个字母变为大写,输出修改后的字符串知道...
  8. php 类自动执行,php类中的魔术方法及类的自动加载
  9. c语言第八章实验题答案,第八章实验报告
  10. android 商品筛选_商品关联分析