又见拦截导弹

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述

大家对拦截导弹那个题目应该比较熟悉了,我再叙述一下题意:某国为了防御敌国的导弹袭击,新研制出来一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度。突然有一天,雷达捕捉到敌国的导弹来袭。由于该系统存在缺陷,所以如果想把所有的导弹都拦截下来,就要多准备几套这样的导弹拦截系统。但是由于该系统成本太高,所以为了降低成本,请你计算一下最少需要多少套拦截系统。

输入
有多组测试数据。
每组数据先输入一个整数N(N≤3000),代表有N发导弹来袭。接下来有N个数,分别代表依次飞来的导弹的导弹的高度。当N=-1时表示输入结束。
输出
每组输出数据占一行,表示最少需要多少套拦截系统。
样例输入
8
389 207 155 300 299 170 158 65
5
265 156 123 76 26
样例输出
2
1

经典的dp问题,一开始忘记n==-1停止计算,收获wa一枚。。。细心啊!!这题属于导弹拦截问题的变形,直接把导弹拦截的代码变一个地方就可以了,导弹拦截计算的是最长下降子序列,而需要的拦截系统的数目恰恰是最长上升子序列,就是把描述各个进攻导弹高度的数组从后往前看然后计算最长下降子序列。想明白这个代码就很好写了

AC代码:

#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std ;int a[3005] ;
int b[3005] ;
int n ;int main()
{while(scanf("%d",&n)!=EOF && n!=-1){for(int i = 0 ;i<n ;i++)scanf("%d",&a[i]) ;int max1 = 0 ;for(int i = 0 ;i<n; i++){int max = 0 ;for(int j = 0 ;j<i ;j++){if(b[j]>max && a[j]<a[i])   //这个地方是<号max = b[j] ;}b[i] = max+1 ;if(b[i] > max1)max1 = b[i] ;}printf("%d\n",max1) ;}return 0 ;
}

转载于:https://www.cnblogs.com/emoji/p/4436794.html

南阳oj 814 又见拦截导弹相关推荐

  1. 动态规划之——又见拦截导弹(nyoj814)

    问题描述: 又见拦截导弹 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 大家对拦截导弹那个题目应该比较熟悉了,我再叙述一下题意:某国为了防御敌国的导弹袭击,新研制出来一 ...

  2. 牛客:【2021秋季算法入门班第七章习题:动态规划1】部分题解:方块与收纳盒、舔狗舔到最后一无所有、可爱の星空、[NOIP1999]拦截导弹

    题单链接:牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com)  P1001 方块与收纳盒 传送门:1001-方块与收纳盒_2021秋季 ...

  3. #547. 拦截导弹(missile)

    题目链接: 登录 - 沐枫OJ 我的思路: 把题目分两部分,第一部分相当于求序列的最长下降子序列,第二部分则需要运用贪心的思想.下面分开详细讲解. #include<iostream> # ...

  4. BZOJ 2244: [SDOI2011]拦截导弹 DP+CDQ分治

    2244: [SDOI2011]拦截导弹 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度.并且能够拦截 ...

  5. BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化)

    BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化) 1 #include<algorithm> 2 #include<iostream> 3 #include ...

  6. BZOJ2244 [SDOI2011]拦截导弹 【cdq分治 + 树状数组】

    题目 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度.并且能够拦截任意速度的导弹,但是以后每一发炮弹都不能高于前一发的高度,其 ...

  7. 1044 拦截导弹——http://codevs.cn/problem/1044/

    第一部分:题目 题目描述 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于 ...

  8. 动态规划之——拦截导弹(nyoj79)

    问题描述: 拦截导弹 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮 ...

  9. NYOJ 79 拦截导弹

    拦截导弹 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任 ...

  10. P2487 [SDOI2011]拦截导弹(cdq分治/计数问题思想)

    P2487 [SDOI2011]拦截导弹 求解二维上的LIS,并且要求出每个点的选中概率. 首先对于每个点的选中概率,可以通过方案数计算,那么就是选中它的方案数除以总方案数.关键在于选中它的方案数怎么 ...

最新文章

  1. CSS中各种各样居中方法的总结
  2. 设置按钮不可见_华为手机居然有【3种录屏方法】,很多人都不知道,真的太实用了...
  3. 6款实用开源报表工具 | 码云周刊第 83 期
  4. Jenkins配置基于角色的项目权限管理--转
  5. 《系统集成项目管理工程师》必背100个知识点-57沟通管理
  6. 论文中要用到的SPSS基础分析
  7. 使用多线程拷贝文件夹
  8. 计算机寄存器及标志位详解
  9. 1650显卡能带动144hz吗_GTX1660显卡能称得起最甜吗?最猛GTX1660显卡性能测评
  10. Linux就该这么学-第三课
  11. 华为 鸿蒙系统(HarmonyOS)
  12. tornado websocket
  13. 摄影测量学——航摄像片的内、外方位元素和像点空间直角坐标变换与中心投影构像方程
  14. 导致Tomcat启动过程缓慢的原因及解决方法
  15. at89c51编程语言,(最新整理)AT89C51单片机简介
  16. beyond Compare 4免费破解方法
  17. 24段魔尺,可以折出哪些精美图案
  18. python 获取文件大小
  19. 区分笛卡儿积,自然连接,等值连接,内连接,外连接—左,右
  20. 【软件测试真题合集】BATJ都在问哪些自动化测试面试题?看了你就知道了

热门文章

  1. JS清除字符串中重复的值
  2. C++11 std::function类模板
  3. MySQL 高性能索引策略和查询优化
  4. 荣耀智慧屏 55英寸屏幕 搭载鸿蒙OS,3799元起!荣耀智慧屏发布:55英寸4K全面屏+首发鸿蒙OS+无广告...
  5. jeval 公式_几款公式解析工具的比较
  6. mysql 结果集换页_MySQL 按结果集分页
  7. 亚信安全认证acse_2019亚信安全合作伙伴大会闪耀京城
  8. m_map投影_MATLAB——m_map指南(1)
  9. python gdbm_linux下python安装
  10. linux 源代码安装mysql5.5_linux下通过源码包安装MySql5.5