博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
012:拦截导弹
阅读量:5355 次
发布时间:2019-06-15

本文共 857 字,大约阅读时间需要 2 分钟。

描述某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。输入输入有两行,

第一行,输入雷达捕捉到的敌国导弹的数量k(k<=25),
第二行,输入k个正整数,表示k枚导弹的高度,按来袭导弹的袭击时间顺序给出,以空格分隔。
输出输出只有一行,包含一个整数,表示最多能拦截多少枚导弹。
样例输入

8300 207 155 300 299 170 158 65

样例输出

6

来源医学部计算概论2006期末考试题

AC:

将问题分解为规模更小的子问题进行求解。对于一个序列,就是降低序列的长度,“掐头去尾切两半”

原来这道题是最长上升子序列的变形,最长不上升子序列,没有转过这个弯= =

#include
#include
#include
#include
#include
#include
#include
#include
#define DEBUG(x) cout << #x << " = " << x << endlusing namespace std;const int MAXN=30;int K;int height[MAXN];int block(int n,int h){ if(n==K)return 0; int n1=-1,n2=-1; if(h

 

转载于:https://www.cnblogs.com/MalcolmMeng/p/9135057.html

你可能感兴趣的文章
linux 文件已经删除,但是空间没有释放的原因
查看>>
数学之路-python计算实战(11)-机器视觉-图像增强
查看>>
ORM框架
查看>>
ORACLE查询第N到M条数据
查看>>
FirstApp,iphone开发学习总结11,表操作(移动、删除)
查看>>
《Android源码设计模式》--状态模式--责任链模式--解释器模式--命令模式--观察者模式--备忘录模式--迭代器模式...
查看>>
如何使用Eclipse和GCC搭建STM32环境
查看>>
常用类,接口
查看>>
android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口
查看>>
Hhibernateu关联关系第一次
查看>>
主要驗證是否有五個星期五五個星期六五個星期天
查看>>
内电层分割汇总
查看>>
[python]numpy.mean()用法
查看>>
第十一次作业
查看>>
python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容
查看>>
jquery通过name属性取值的方法
查看>>
整理的一些PHP面试题目
查看>>
ARM架构解析
查看>>
mybatis的update操作的几种动态更新
查看>>
git回滚部分文件到某个版本
查看>>