1999年NOIP全国联赛提高组

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 黄金 Gold

题解

题目描述 Description

某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。

输入描述 Input Description

输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数)

输出描述 Output Description

输出这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。

样例输入 Sample Input

389 207 155 300 299 170 158 65

样例输出 Sample Output

6

2

数据范围及提示 Data Size & Hint

导弹的高度<=30000,导弹个数<=20

分类标签 Tags 点此展开

动态规划 序列型DP 贪心 大陆地区 NOIP全国联赛提高组 1999年
代码:
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,a[100],f[100],ans,sum,g[100],p;
int main()
{while(scanf("%d",&p)!=EOF) {a[++n]=p;f[n]=1,g[n]=1;}
///    n--;for(int i=2;i<=n;i++)for(int j=1;j<i;j++){if(a[j]>a[i])f[i]=max(f[j]+1,f[i]);if(a[j]<a[i])g[i]=max(g[j]+1,g[i]);} for(int i=1;i<=n;i++)ans=max(f[i],ans),sum=max(g[i],sum);printf("%d\n",ans);printf("%d",sum);return 0;} 

思路:

有没有发现这个题和上一个题(最长严格上升子序列)有异曲同工之妙。

上一个题是求最长上升子序列,这个题是求最长下降子序列!

原因:每次都只能拦比他矮的导弹,所以只要求最长下降子序列就好了!

第二问:求系统个数,那只需要求最长上升子序列就好了!

由于每个导弹只拦比他低的,所以每一列中最大的数构成的一定没有系统可以拦截他,所以只需把这些数求出即可

转载于:https://www.cnblogs.com/z360/p/6751608.html

codevs——1044 拦截导弹(序列DP)相关推荐

  1. CodeVS 1044 拦截导弹(DP)

    题目大意: http://codevs.cn/problem/1044/ 第一问题就是求序列的最长递减数列的长度,第二问就是求数列的最长递增序列的长度. 代码: #include <iostre ...

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

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

  3. 拦截导弹(dp【最长上升子序列模型】 + 贪心)

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

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

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

  5. 单调递增最长子序列 拦截导弹(nyoj 17 nyoj 79)

    思路参考:点击打开链接 单调递增最长子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf ...

  6. HDOJ---1257 最少拦截系统[线性DP]+NYOJ---拦截导弹[输出最长单调子序列的长度]

    最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

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

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

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

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

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

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

最新文章

  1. Halcon检测边缘——笔记
  2. 字节跳动客户开发_实习|字节跳动 客户端实习生 1-5面 面经
  3. 06.十分钟学会表达式语言EL
  4. Shell 控制并发
  5. Leetcode周赛复盘——第 278 场力扣周赛
  6. python 档案管理系统_Python 写入档案的 4 个方法
  7. matlab中欧姆如何表示,在excel中欧姆符号怎么打
  8. Java面试题:IO流的标准处理异常的代码
  9. python3指定目录所有excel_如何用python遍历文件夹下的所有excel文件
  10. linux 安装flash tar.gz,ubuntu下安装flash(tar.gz格式)
  11. 使用MOE进行药效团建模与分析
  12. Oracle 在 Linux 下移动控制文件步骤
  13. openstack 云主机关机:ournal: End of file while reading data: Input/output error
  14. mugen linux主程序,MUGEN主程序
  15. 在线光纤网速测试软件,adsl网速测试(中国移动宽带专用测速软件)
  16. CuteFtpnbsp;Pro之站点导入导出
  17. dispatch_barrier_GCD学习之dispatch_barrier_async详解
  18. 修改功能测试的测试点
  19. pf与ckf_CKF中国功夫杯
  20. 2018-07-11CROSS JOIN+INNER JOIN+LEFT JOIN+RIGHT JOIN

热门文章

  1. Java经典基础面试题
  2. Java新职篇:for循环
  3. Spring Cloud 分布式链路跟踪 Sleuth + Zipkin + Elasticsearch
  4. 微服务体系三维可缩放模型
  5. [译]理解Node.js事件驱动机制
  6. 1002. 三角形 (
  7. 剑指offer——面试题58:二叉树的下一个结点
  8. 【To Debug】牛客网--华为机试在线训练3:明明的随机数
  9. Leetcode 109.有序链表转换二叉搜索树
  10. 浅谈线性判别分析LDA