NYOJ题目79-拦截导弹(最长递减子序列)
来源:互联网 发布:魔兽世界7.0画面优化 编辑:程序博客网 时间:2024/05/18 22:15
拦截导弹
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于等于前一发的高度。某天,雷达捕捉到敌国导弹来袭。由于该系统还在试用阶段,所以只用一套系统,因此有可能不能拦截所有的导弹。
- 输入
- 第一行输入测试数据组数N(1<=N<=10)
接下来一行输入这组测试数据共有多少个导弹m(1<=m<=20)
接下来行输入导弹依次飞来的高度,所有高度值均是大于0的正整数。 - 输出
- 输出最多能拦截的导弹数目
- 样例输入
28389 207 155 300 299 170 158 65388 34 65
- 样例输出
62
题意要求是拦截的导弹一个比一个低,求最长递减子序列即可
#include <cstdio>#include <cstring>#include <iostream>using namespace std;int a[21];int fun(int n){int dp[21];memset(dp,0,sizeof(dp));for(int i=0;i<n;i++){for(int j=0;j<i;j++){if(a[i]<a[j] && dp[i]<dp[j]+1)dp[i]=dp[j]+1;}}int max;max=dp[0];for(int i=0;i<n;i++)if(dp[i]>max)max=dp[i];return max + 1;}int main(){int N;cin>>N;while(N--){int n;cin>>n;for(int i=0;i<n;i++)cin>>a[i];cout<<fun(n)<<endl;}return 0;}
阅读全文
0 0
- NYOJ题目79-拦截导弹(最长递减子序列)
- NYOj-79-拦截导弹(最长递减子序列)
- NYOJ 79 拦截导弹 (寻找递减最长子序列)
- NYOJ 题目79 拦截导弹 (dp,最长单调递减子序列)
- nyoj 79 拦截导弹 连续递减最长子序列(动态规划)
- NYOJ 题目79 拦截导弹(动态规划,最长递增子序列)
- 导弹拦截 最长递减(增)子序列问题
- nyoj 79 拦截导弹 【最长递增子序列】
- NYOJ79 拦截导弹(最长单调递减子序列)
- 题目1112:拦截导弹 最长递增子序列(LIS)
- CODE(VS) 1044 导弹拦截 (判断最长递增和最长递减子序列)
- code[vs] 1044拦截导弹(最长递减+递增子序列)
- NYOJ 79 拦截导弹 (经典dp) 最长上升子序列 LIS
- 最长递增子序列(导弹拦截)
- 最长递增子序列(导弹拦截)
- 单调递增最长子序列 && 拦截导弹(nyoj 17 && nyoj 79)
- NYOJ - 79 - 拦截导弹(动态规划--LIS--最长递增子序列变形)
- NYoj拦截导弹(动态规划-最长上升子序列变形)
- 从0开始架构一个IOS程序—— 05— NavigationBar 搭建首页面
- c++笔记
- 闭包(一)
- Linux指令--alias
- Java 加号变乘号
- NYOJ题目79-拦截导弹(最长递减子序列)
- 【Linux学习笔记】19:Bash基础-命令别名与快捷键
- GNU hightec linker(把变量定义到固定内存地址)
- amcl源码分析
- txt读取文件字符编码 解决办法
- <c:forEach>详解
- 基于原型链继承的实现
- Java 李白打酒
- 深入Spring:自定义注解加载和使用 144 作者 wcong 关注 2016.03.23 13:41* 字数 1573 阅读 7651评论 7喜欢 22 前言 在工作中经常使用Spring的相