反恐训练营

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

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
题解:LCS的变形,这个dp[i][j]代表的是左上,左,上三个点的最大值;另外可以优化内存;
代码:
 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<map>
 4 #include<algorithm>
 5 using namespace std;
 6 #define MAX(x,y)(x>y?x:y)
 7 const int MAXN=2100;
 8 int dp[2][MAXN];
 9 char a[MAXN],b[MAXN],c[MAXN];
10 map<char,int>mp;
11 int main(){
12     int N,temp;
13     while(~scanf("%d",&N)){
14         memset(dp,0,sizeof(dp));
15         mp.clear();
16         scanf("%s",a+1);
17         for(int i=1;i<=N;i++){
18             scanf("%d",&temp);
19             mp[a[i]]=temp;
20         }
21         scanf("%s",b+1);
22         scanf("%s",c+1);
23         int t1,t2;
24         t1=strlen(b+1);t2=strlen(c+1);
25         for(int i=1;i<=t1;i++)
26             for(int j=1;j<=t2;j++)
27                 if(b[i]==c[j])
28                     dp[i&1][j]=dp[(i-1)&1][j-1]+mp[b[i]];
29                     else{
30                         int k=MAX(dp[(i-1)&1][j],dp[i&1][j-1]);
31                         dp[i&1][j]=MAX(k,dp[(i-1)&1][j-1]);
32                     }
33                     printf("%d\n",dp[t1&1][t2]);
34     }
35     return 0;
36 }

转载于:https://www.cnblogs.com/handsomecui/p/4803103.html

反恐训练营(LCS)相关推荐

  1. 杭电acm 1243 反恐训练营 LCS

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

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

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

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

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

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

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

  5. hdu1243反恐训练营

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

  6. HDU 1243 反恐训练营

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

  7. 成都铁路警方联合多部门开展反恐防暴演练

    特警队员使用盾牌对冲入车站广场的"暴恐分子"进行压制. 王晓丹 摄 特警队员使用盾牌对冲入车站广场的"暴恐分子"进行压制. 王晓丹 摄 特警队员使用盾牌和防暴棍 ...

  8. 效率源应邀出席“第九届刑侦、禁毒、反恐新技术新产品应用交流暨高峰论坛”

    效率源会议现场发回来的报道 时间:2018年9月11日-15日 坐标:广西桂林 会议主题:全面落实"一长四必"现场勘查制度,其实提升全国公安机关现场勘查能力水平,将最新金.最好和最 ...

  9. 《鹰眼》(Eagle Eye):对电子媒介的反恐

    一个刚参加完哥哥葬礼的潦倒男人和一个刚送走孩子去上学的单身女子,分别接到了一个陌生手机,正由于男的经济上贫乏和女的在儿子上母爱的把柄落入了这通手机的控制之中,因此受控于此,参加一场场惊险的夺命之旅.而 ...

最新文章

  1. java小程序例子_「小程序JAVA实战」java的聚合项目搭建(30)
  2. 深入理解Android消息处理系统——Looper、Handler、Thread
  3. 启示录 产品经理 pdf_3个月,从公司前台转行互联网产品经理
  4. MATLAB读写Excel数据
  5. LeetCode 1406. 石子游戏 III(DP)
  6. Tensorflow Object detection API 在 Windows10 配置
  7. Auto CAD:CAD软件之上菜单栏(CAD选项设置、常用工具(样条曲线/多段线/倒角/移动/镜像/偏移/修剪工具/延伸/阵列)、修改工具(拉长/编辑多段线/对齐命令、注释/标注)简介之详细攻略
  8. iTunes 12.6.3(含appStore)
  9. python爬虫 微信公众号模拟登陆js解密
  10. timestamp与datetime使用
  11. 计算机三级网络技术最全知识点总结【2】
  12. 【机器学习11】LAD,K-means,SVM分析鸢尾花和月亮数据集
  13. php发送邮件 企业邮箱,ThinkPHP如何企业邮箱通过PHPMailer发送邮件
  14. 100元人民币兑换成1元、2元、5元人名币的所有兑换方案
  15. android 飞机大战详解
  16. 62道经典 iOS面试题
  17. 年轻人能为世界做些什么
  18. linux ssdb 安装 乱码,SSDB 命令行工具 ssdb-cli
  19. 软件设计模式的学习(以Java为例)
  20. java中move用法_Java IFile.move方法代碼示例

热门文章

  1. 《笑傲江湖》VR电影版要来了
  2. wpa_supplicant的控制接口简单说明
  3. 全世界一共有多少个IP地址?
  4. Go语言fmt包Printf方法格式化参数详解
  5. nethunter自带 kali-tools-web更新
  6. FRAM、NRAM、ReRAM
  7. “漫威之父”斯坦·李去世,西方江湖再无英雄
  8. trans在c语言的用法,求大神翻译这个东西啊,完全看不懂,新手
  9. Bergsoft NextSuite (VCL)-SEO狼术
  10. 前端项目自动化部署——超详细教程(Jenkins、Github Actions)