NYOJ题目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
题意要求是拦截的导弹一个比一个低,求最长递减子序列即可
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;int a[25], dp[25];int main(){int n;scanf("%d", &n);while(n--){int m;scanf("%d", &m);for (int i = 0; i<m; i++){scanf("%d", &a[i]);}int max = -1;memset(dp, 0, sizeof(dp));for(int i=0; i<m; i++){for (int j = 0; j < i; j++){if(a[i]<a[j] && dp[j]+1>dp[i]){dp[i] = dp[j] + 1;}}if(dp[i]>max) max=dp[i];}printf("%d\n", max+1);}return 0;
}
NYOJ题目79-拦截导弹(最长递减子序列)相关推荐
- 拦截导弹(最长递增子序列)
题目描述:某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...
- NYOJ-79拦截导弹---LIS变形-最长递减子序列
最长递增子序列 (Longest increasing subsequence) 的变形,即最长递减子序列 已知求最长上升子序列的模板为: int res = 0; for(int i =0;i< ...
- 拦截导弹 最长上升/下降子序列
题意, 长度为n的序列, a1,a2, ...,ai, ..., an, 求最长严格上升子序列长度,与最长下降非严格自序列长度. 解法: 首先不得不吐嘈下题目的读入,恶心指数上达5颗星. 对 ...
- 算法 求一个数组的最长递减子序列 C
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! //** ...
- 算法 - 求一个数组的最长递减子序列(C++)
分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net /** 求一个数组的最长递减子序列 - C++ - ...
- 数组的最长递减子序列java_最长递增/递减子序列
<编程之美>里有个题目是要求数组中最长递增子序列,在CSDN上看到的题目是数组中的最长递减子序列.题目如下: 求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子 ...
- 数组的最长递减子序列java_求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}...
问题描述:给出一个数列,找出其中最长的单调递减(或递增)子序列. 解题思路: 动态规划.假设0到i-1这段数列的最长递减序列的长度为s,且这些序列们的末尾值中的最大值是t.对于a[i]有一下情况: ( ...
- 最长递增子序列问题 nyoj 17单调递增最长子序列 nyoj 79拦截导弹
一, 最长递增子序列问题的描述 设L=<a1,a2,-,an>是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=<aK1,ak2,-,akm>,其中k1< ...
- NYOJ 79 拦截导弹
拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任 ...
- Bailian2945 导弹拦截【最长上升子序列+DP】
2945:拦截导弹 总时间限制: 1000ms 内存限制: 65536kB 描述 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高 ...
最新文章
- 图像处理:二维傅里叶变化的平移性_matlab实现
- ddr test DCD CFG file CBT
- 职场升职加薪不二法则,德到领袖偷偷告诉你
- 共享x轴,使用双y轴
- mysql after 不起作用_我的MySQL触发器不起作用,语法简单,不复杂
- 运营商部署4.5G热情高涨:将影响5G商用
- 华为c语言编程规范_单片机开发之C语言编程基本规范
- 阿里资深技术工程师: 程序员怎样快速成长?
- HALCON示例程序clip.hdev曲别针方向识别
- 深度学习中 epoch,[batch size], iterations概念解释
- 怎么算掌握了mysql_MySQL你必须掌握了解的锁知识!
- java 画多边形_javascript绘制一个多边形
- 吴恩达机器学习之单变量线性回归实现部分
- 移民火星住哪?盖房的事就交给AI机器人Justin吧
- 在Java / Maven中处理“Xerces hell”?
- android x5webview截长图
- Photoshop —— 白色(或任意颜色)或黑色物体修改成任意色彩
- 【拼多多校招】最大乘积的简单方法
- 从零开始建网站,新手小白建站必知的十大忠告
- 华三服务器HDM打不开网页,服务器HDM无法登录
热门文章
- Linux查看某个进程的磁盘IO读写情况
- andrioid 图像视频处理
- 《Arduino开发实战指南:机器人卷》一1.3 安装Arduino Uno驱动
- iis6 服务器做301跳转返回状态码200解决方法。
- 全球排名前50网站使用的开发语言及系统平台
- 设置Listview行高--小技巧
- Microsoft AJAX Library的beta2版发布
- 优雅的对 list 遍历进行 add 或者 remove 操作
- idea为java文件自动生成copyright
- Mercurial:Hg检出的时候:The system cannot find the path specified