nyist oj 79 拦截导弹 (动态规划基础题)
拦截导弹
- 描写叙述
-
某国为了防御敌国的导弹突击。发展中一种导弹拦截系统。可是这样的导弹拦截系统有一个缺陷:尽管它的第一发炮弹可以到达随意的高度。可是以后每一发炮弹都不能高于等于前一发的高度。某天。雷达捕捉到敌国导弹来袭。因为该系统还在试用阶段。所以仅仅用一套系统。因此有可能不能拦截全部的导弹。
- 输入
- 第一行输入測试数据组数N(1<=N<=10)
接下来一行输入这组測试数据共同拥有多少个导弹m(1<=m<=20)
接下来行输入导弹依次飞来的高度,全部高度值均是大于0的正整数。 - 输出
- 输出最多能拦截的导弹数目
- 例子输入
-
2
8
389 207 155 300 299 170 158 65
3
88 34 65 - 例子输出
-
6
2 - 来源
动态规划基础题,就是求单调递减最长子序列,事实上就和单调递增最长子序列一样的做法,把当中推断语句改一下即可了。思想是一样的;
http://blog.csdn.net/whjkm/article/details/38582411 单调递增最长子序列能够參看之前的那篇博客;
以下是代码:
#include <cstdio>
#include <cstring>
const int maxn=25;
int a[maxn],dp[maxn],m,Max;
void LICS()
{
memset(dp,0,sizeof(dp));
for(int i=0;i<m;i++)
{
dp[i]=1;
for(int j=0;j<i;j++)
if(a[i]<a[j] && dp[i]<dp[j]+1)//a[i]<a[j]就是单调递减最长子序列。思想上和递增的是一样的
dp[i]=dp[j]+1;
}
Max=0;
for(int i=0;i<m;i++)
if(Max<dp[i])
Max=dp[i];
}
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
for(int i=0;i<m;i++)
scanf("%d",&a[i]);
LICS();
printf("%d\n",Max);
}
return 0;
}
nyist oj 79 拦截导弹 (动态规划基础题)的更多相关文章
- nyoj 79 拦截导弹 (动态规划)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=79 题意即求最长单调递减子序列 #include<iostream> #inc ...
- nyoj 79 拦截导弹
拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到 ...
- nyoj--814--又见拦截导弹(动态规划+贪心)
又见拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 大家对拦截导弹那个题目应该比较熟悉了,我再叙述一下题意:某国为了防御敌国的导弹袭击,新研制出来一种导弹拦截系 ...
- 最长递增子序列问题 nyoj 17单调递增最长子序列 nyoj 79拦截导弹
一, 最长递增子序列问题的描述 设L=<a1,a2,…,an>是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=<aK1,ak2,…,akm>,其中k1< ...
- 清橙 A1120 拦截导弹 -- 动态规划(最长上升子序列)
题目地址:http://oj.tsinsen.com/A1120 问题描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但 ...
- 九度OJ 1197:奇偶校验 (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3590 解决:1511 题目描述: 输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如'3',输出:10110011). ...
- 九度OJ 1059:abc (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3642 解决:2869 题目描述: 设a.b.c均是0到9之间的数字,abc.bcc是两个三位数,且有:abc+bcc=532.求满足条件的 ...
- 九度OJ 1057:众数 (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8431 解决:2819 题目描述: 输入20个数,每个数都在1-10之间,求1-10中的众数(众数就是出现次数最多的数,如果存在一样多次数的 ...
- 九度OJ 1032:ZOJ (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4569 解决:2561 题目描述: 读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的 ...
随机推荐
- linux的comm命令
http://blog.csdn.net/apache6/article/details/5789669
- mysql window下tmpdir空间耗尽
修改my.ini或my-default.ini文件[mysqld]下方配置 tmpdir = D:/tmp
- Mybatis的学习总结(一)——使用配置文件实现增删改查
在使用Mybatis作为持久层来进行操作数据库,有很多的操作都是一样的,基本上都是先得到session,然后调用session提供的相关方法进行操作,接着提交session,最后关闭session.那 ...
- Date与Calendar
Date date=new Date();//现在时间 Date date1=new Date(1000);//格林威治时间1997/01/01开始算,后面的是毫秒 Calendar calendar ...
- Ubuntu 13.04 用Sublime Text 2 编译运行 JAVA
将下面的代码粘贴到JavaC.sublime-build中: { "cmd": ["javac \"$file_name\" && j ...
- Nuc900 bsp turbowriter使用注意点
Nuc900 bsp turbowriter使用注意点 一. Nor flash 用turbo 烧写kernel和文件系统时的注意点: 1. kernel的image No要大于rootfs 2.烧写 ...
- jquery.validation.js的自定义方法
jQuery.validator.addMethod(name,method[,message]) name方法名 method:function(value,element,params)//val ...
- XAMPP安装教程
XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.这个软件包原来的名字是LAMPP,但是为了避免误解,最新的几个版本就改名为 XAMPP 了.它可以在Window ...
- TagHelper
TagHelper是怎么实现的 众所周知,在asp.net core中编写Razor视图的时候,用了一种新的写法--TagHelper 那这个TagHelper是怎么回事呢? 首先来看看TagHe ...
- Altium Designer 6 快速进行差分对走线
1: 在原理图中让一对网络前缀相同,后缀分别为_N 和_P,并且加上差分队对指示.在原理图中,让一对网络名称的前缀名相同,后缀分别为_N 和_P,左键点击Place DirectivesDiffere ...