HDU 1243 反恐训练营 (动态规划求最长公共子序列)
反恐训练营
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 3040 Accepted Submission(s): 693
炜炜是反恐特警队的一名新队员。如今正在接受培训。这几天刚好是射击训练第二阶段——实弹应变训练的日子,此前的第一阶段里。炜炜经过努力,已经将自己训练成为一个百发百中的神抢手了!这次,他将背着国产最新型12.7mm重型狙击枪进行训练比赛。
这次训练比赛的规则是这种:
1、每一个队员从出发点開始。沿着一条唯一的笔直道路跑直到终点,途中不同意往回跑,否则将被取消比赛资格。
2、出发前。每一个队员的枪膛内都被装了顺序一样的、用小写英文字母标明类型的子弹序列。每位队员被告知这一序列的信息;同一时候,每位队员也被告知恐怖分子即将出现的序列和类型(相同用小写英文字母标明类型)。
3、在跑动的过程中。若发现“恐怖分子”,特警队员能够选择用枪击毙他。来得到写在“恐怖分子”胸前的得分,可是前提是他使用的子弹类型必须和“恐怖分子”类型同样,否则,即使击毙了“恐怖分子”,也得不到分数;当然选择不击毙他也是能够的。这样他不会从那个“恐怖分子”身上得到分数。
4、同意特警队员放空枪。这样能够消耗掉型号不正确的子弹而不至于杀死“恐怖分子”(当然每一个特警队员都不会愚蠢到不装消音装置就放空枪,以至于吓跑“恐怖分子”)。等待枪口出现正确型号的子弹击毙他得分。
这里。我们假定:
1、对于每一个队员,途中出现恐怖分子的地点、时间、类型也是全然一样的。
2、每颗子弹都是质量合格的,都能够发挥杀伤效力
3、因为队员各个都是神枪手,一旦他选择了正确的子弹,向目标射击,目标100%被爆头
4、每一个队员的记忆力超强,能记住全部子弹序列信息和恐怖分子序列信息。
5、每一个队员体力足够好,能跑全然程,并做他想要做的
6、“恐怖分子”是不动的。小范围内不存在多于一个的恐怖分子。
炜炜须要你的帮助。告诉他怎样做,才干得到最高的分数。如今假设告诉你出发时枪膛内子弹的序号和型号、恐怖分子出现的序号和类型,你能告诉炜炜他最多能得到多少分数吗?
第三第四行分别表示開始时枪膛内子弹的序列(左边的先打出)和恐怖分子出现的序列(左边的先出现)。字母之间都没有不论什么字符。
每一个測试数据之间没有空格和空行。
你的程序必须通过所有測试数据。才干被判为AC。
3
abc
1 1 1
abc
ccc
3
abc
1 1 1
ccc
aba
1
0
还是求最长公共子序列。可是每次遇到同样的字母后。该加上字母相应的分数
#include<stdio.h>
#include<map>
#include<string>
#include<vector>
#include<iostream>
using namespace std;
int N;
int main(int argc, char *argv[])
{
vector<vector<int> >c;
map<int,char>m;
string s,a,b;
int score;
while(~scanf("%d",&N))
{
cin>>s;
for(int i=0;i!=s.size();++i)
{
scanf("%d",&score);
m[s[i]]=score;
}
cin>>a;
cin>>b;
int x=a.size();
int y=b.size();
int SIZE=x>y?x:y;
SIZE+=1;
c.resize(SIZE);
for(int i=0;i<c.size();++i)
{
c[i].resize(SIZE);
}
for(int i=0;i<x;++i)
c[i][0]=0;
for(int j=0;j<y;++j)
c[0][j]=0;
for(int i=1;i<=x;++i)
for(int j=1;j<=y;++j)
{
if(a[i-1]==b[j-1])
{
c[i][j]=c[i-1][j-1]+m[a[i-1]];
}
else if(c[i][j-1]>=c[i-1][j])
{
c[i][j]=c[i][j-1];
}
else
c[i][j]=c[i-1][j];
}
printf("%d\n",c[x][y]);
}
return 0;
}
HDU 1243 反恐训练营 (动态规划求最长公共子序列)的更多相关文章
- hdu 1243 反恐训练营 最长公共字序列
此题的题意很明确,就是求最长公共子序列: #include<iostream> #include<algorithm> #include<cstdio> #incl ...
- HDU 1159 Common Subsequence (动态规划、最长公共子序列)
Common Subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- HDU - 1243 - 反恐训练营
先上题目: 反恐训练营 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- HDU 1243 反恐训练营(最长公共序列)
反恐训练营 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- 动态规划求最长公共子序列(Longest Common Subsequence, LCS)
1. 问题描述 子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串 cnblogs belong 比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与 ...
- hdu 1243 反恐训练营(dp 最大公共子序列变形)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1243 d[i][j] 代表第i 个字符与第 j 个字符的最大的得分.,, 最大公共子序列变形 #inclu ...
- hdu 1503:Advanced Fruits(动态规划 DP & 最长公共子序列(LCS)问题升级版)
Advanced Fruits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- Coincidence (动态规划求最长公共子序列)(王道)
题目描述: Find a longest common subsequence of two strings. 输入: First and second line of each input case ...
- HDU 4681 string 求最长公共子序列的简单DP+暴力枚举
先预处理,用求最长公共子序列的DP顺着处理一遍,再逆着处理一遍. 再预处理串a和b中包含串c的子序列,当然,为了使这子序列尽可能短,会以c 串的第一个字符开始 ,c 串的最后一个字符结束 将这些起始位 ...
随机推荐
- 27.mutex跨进程通信
创建互斥量mutex HANDLE mutex = CreateMutexA(NULL, TRUE, name); 根据id打开mutex HANDLE mutex = OpenMutexA(MUTE ...
- CList 点击表头排序 (1)SortItems函数
点击表头排序整体的思路都是去 CListCtrl类中的方法SortItems去实现 CListCtrl::SortItems的原型是: BOOL SortItems( PFNLVCOMPARE pfn ...
- CISP/CISA 每日一题 10
CISA 每日一题(答)一个合理建造的数据仓库应当支持下列三种基本的查询格式: 1.向上溯源和向下溯源——向上溯源是对数据进行总计:向下溯源是将数据进行细化: 2.交叉溯源——通过通用属性访问数据仓库 ...
- 【例题 7-14 UVA-1602】Lattice Animals
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 借鉴网上的题解的. 思路是. 用"标准化"的思想. 确定基准点(0,0) 然后假设(0,0)是第一个连通块. 然 ...
- shell实例浅谈之三产生随机数七种方法
一.问题 Shell下有时须要使用随机数,在此总结产生随机数的方法.计算机产生的的仅仅是"伪随机数".不会产生绝对的随机数(是一种理想随机数).伪随机数在大量重现时也并不一定保持唯 ...
- 1.2 Use Cases中 Metrics官网剖析(博主推荐)
不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Metrics 指标 Kafka is often used for operati ...
- Writing Images to the Excel Sheet using PHPExcel--转载
原文地址:http://www.walkswithme.net/writing-images-to-the-excel-sheet-using-phpexcel Writing images to t ...
- C语言库函数,头文件
参看:https://zhidao.baidu.com/question/328173842.html 该文件包含了的C语言标准库函数的定义 stdlib.h里面定义了五种类型.一些宏和通用工具函数. ...
- Chome 浏览器,您的连接不是私密连接
网上搜索了半天,最后才发现是去广告插件/软件的原因, 关掉广告插件/者软件,或者重新导入证书, 就可以了.
- hibernate 的映射文件快速生成:使用CodeSmith快速生成映射文件和映射类
一 CodeSmith简介 本文以表自动生成NHibernate的映射文件和映射类的实例来说明一下本软件的使用方法. CodeSmith是一种基于模板的代码生成工具,其使用类似于ASP.NET的语法来 ...