反恐训练营

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6183    Accepted Submission(s): 1592

Problem Description

当今国际反恐形势很严峻,特别是美国“9.11事件”以后,国际恐怖势力更是有恃无恐,制造了多起骇人听闻的恐怖事件。基于此,各国都十分担心恐怖势力会对本国社会造成的不稳定,于是纷纷在本国的军队、警察队伍中开展了反恐训练。作为反恐立场坚定的大国,中国也十分重视在人民解放军、武装警察部队、人民警察队伍中反恐训练,还专门成立了反恐特警队。

炜炜是反恐特警队的一名新队员,现在正在接受培训。这几天刚好是射击训练第二阶段——实弹应变训练的日子,此前的第一阶段里,炜炜经过努力,已经将自己训练成为一个百发百中的神抢手了!这次,他将背着国产最新型12.7mm重型狙击枪进行训练比赛。

这次训练比赛的规则是这样的:

1、每个队员从出发点开始,沿着一条唯一的笔直道路跑直到终点,途中不允许往回跑,否则将被取消比赛资格。
2、出发前,每个队员的枪膛内都被装了顺序一样的、用小写英文字母标明类型的子弹序列,每位队员被告知这一序列的信息;同时,每位队员也被告知恐怖分子即将出现的序列和类型(同样用小写英文字母标明类型)。
3、在跑动的过程中,若发现“恐怖分子”,特警队员可以选择用枪击毙他,来得到写在“恐怖分子”胸前的得分,但是前提是他使用的子弹类型必须和“恐怖分子”类型相同,否则,即使击毙了“恐怖分子”,也得不到分数;当然选择不击毙他也是可以的,这样他不会从那个“恐怖分子”身上得到分数。
4、允许特警队员放空枪,这样可以消耗掉型号不对的子弹而不至于杀死“恐怖分子”(当然每个特警队员都不会愚蠢到不装消音装置就放空枪,以至于吓跑“恐怖分子”),等待枪口出现正确型号的子弹击毙他得分。

这里,我们假定:
1、对于每个队员,途中出现恐怖分子的地点、时间、类型也是完全一样的。
2、每颗子弹都是质量合格的,都可以发挥杀伤效力
3、由于队员各个都是神枪手,一旦他选择了正确的子弹,向目标射击,目标100%被爆头
4、每个队员的记忆力超强,能记住所有子弹序列信息和恐怖分子序列信息。
5、每个队员体力足够好,能跑完全程,并做他想要做的
6、“恐怖分子”是不动的,小范围内不存在多于一个的恐怖分子;

炜炜需要你的帮助,告诉他如何做,才能得到最高的分数。现在如果告诉你出发时枪膛内子弹的序号和型号、恐怖分子出现的序号和类型,你能告诉炜炜他最多能得到多少分数吗?

Input

输入数据的第一行有一个整数N表示子弹和恐怖分子的类型数。随后的一行是各种恐怖分子类型的一行字母,两个字母之间没有任何字符。接下来的一行是击毙上一行对应位置恐怖分子类型的得分数,每个分数之间恰有一个空格。第三第四行分别表示开始时枪膛内子弹的序列(左边的先打出)和恐怖分子出现的序列(左边的先出现),字母之间都没有任何字符。
每个测试数据之间没有空格和空行。你的程序必须通过全部测试数据,才能被判为AC。
Output
对于每一个测试数据,输出炜炜最多能得到的分数。
Sample Input
3
abc
1 1 1
abc
ccc
3
abc
1 1 1
ccc
aba

Sample Output
1
0
这道题其实不算是真正的求最长公共子序列问题,对于恐怖分子,中间可以有丢掉的,因为炜炜可以选择不放枪。对于子弹来说,也可以有丢掉的,因为炜炜可以放空枪。所以只要统计出,先后序列一致的权值最大的字符串就可以。其实和数塔问题很像,找到相邻的最大的字符串,然后跟在他后面就行。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string.h>
#include<string>
#include<map>
using namespace std;const int maxn=2010;
string a,b,c;
int n;
int dp[maxn][maxn];
map <char,int>w;int main(){while(cin>>n){cin>>c;for(int i=0;i<n;i++)cin>>w[c[i]];cin>>a>>b;int lena=a.length();int lenb=b.length();memset(dp,0,sizeof(dp));//初始化地图字符串 for(int i=1;i<=lena;i++){//从第一颗子弹 开始遍历,具体情况自己画个图就懂了,讲不出来 for(int j=1;j<=lenb;j++){if(a[i-1]==b[j-1]){dp[i][j]=dp[i-1][j-1]+w[a[i-1]];}else{dp[i][j]=max(dp[i-1][j],dp[i][j-1]);}}}cout<<dp[lena][lenb]<<endl;}
}

转载于:https://www.cnblogs.com/fromzore/p/9794992.html

杭电acm 1243 反恐训练营 LCS相关推荐

  1. 反恐训练营(LCS)

    反恐训练营 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  2. HDU 1243 反恐训练营(最长公共序列)

    反恐训练营 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  3. HDU 1243 反恐训练营

    反恐训练营 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  4. HDU1243 反恐训练营(LCS权值)

    反恐训练营 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  5. 反恐训练营(hdu1243,LCS)

    反恐训练营 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  6. 【杭电ACM】1097 A hard puzzle

    [杭电ACM]1097  A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid=1097 先用int手写了算法结果竟然wrong answer ...

  7. 杭电ACM刷题(1):1002,A + B Problem II

    最近忙于考试复习,没有多少可供自己安排的时间,所以我利用复习之余的空闲时间去刷刷杭电acm的题目,也当对自己编程能力的锻炼吧. Problem Description I have a very si ...

  8. 杭电acm2151题java的解法,杭电ACM题型分类

    杭电ACM题型分类 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.1032.1037.1040.1048.1 ...

  9. 杭电acm a+b问题

    杭电acm 1000 a+b问题代码 int main() { int a,b; for(;~scanf("%d%d",&a,&b);printf("%d ...

最新文章

  1. RIPng 原理和实践
  2. python commands模块_python commands模块在python3.x被subprocess取代
  3. RabbitMQ 官方NET教程(二)【工作队列】
  4. redis之 zadd、zremrangebyscore、zremrangebyrank、zscore、zcard、zcount、zrangebyscore、zinczrevrankzrevrange
  5. 如何安装php5.5,源码安装php5.5
  6. 开源硬件_扩展对开源硬件的访问
  7. [WebKit] JavaScriptCore解析--高级篇(一) SSA (static single assignment)
  8. Mysql —— 索引的使用顺序
  9. 1.视频全屏展示(适应各种屏幕尺寸)
  10. 大数据开发笔记(九):Flink基础
  11. Pytorch基本变量类型FloatTensor与Variable
  12. chrome.storage和window.localStorage的区别
  13. 卷积神经网络原理解析
  14. 怎么把ide改成ahci_阳光明媚-将IDE模式更改为AHCI模式的方法(不用重装系统)
  15. 三菱plc控制步进电机实例_【干货】plc控制步进电机逻辑思路,思路通了步步顺畅...
  16. oeasy教您玩转vim - 39 - # 剪切粘贴
  17. SSRF利用协议中的万金油——Gopher
  18. PHP案例 许愿墙 PHP许愿墙
  19. 关闭计算机界面,windows7 关机一直停留在“正在关机”界面的解决方法
  20. 【无标题】SEO优化

热门文章

  1. 澳门回归10周年与《七子之歌》
  2. 姓名,地址按照A,B,C......来排序java
  3. 【报告分享】2020年新能源乘用车白皮-大搜车智云百度指数(附下载)
  4. 利用数组生成手风琴图片框
  5. 【免费的短信推送API】【MobTech】【Android】手机短信验证码推送
  6. 3、AP上线的那些事儿(2)AP三层如何发现AC?出现故障怎么维护?
  7. linux mint无法启动,开机出现Firmware Bug:TSC_DEADLINE disabled due to Errata
  8. 反射 newInstance()方法过时
  9. Jetson 开发软件栈介绍
  10. Game Maker stdio 2 RPG