时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:3124

解决:1525

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

第二行,输入k个正整数,表示k枚导弹的高度,按来袭导弹的袭击时间顺序给出,以空格分隔。

输出:
每组输出只有一行,包含一个整数,表示最多能拦截多少枚导弹。
样例输入:
8
300 207 155 300 299 170 158 65
样例输出:
6
来源:
2007年北京大学计算机研究生机试真题

思路:

该题的本质是求最长下降子序列。可以用动态规划来做,最好的算法复杂度应该是O(nlogn)的。

我这个代码是最早时候写的,算法复杂度O(n2)。思路比较简单。

代码:

#include <stdio.h>

#define N 25

int main(void)
{
int n, i, j;
int a[N], k[N]; while (scanf("%d", &n) != EOF)
{
for(i=0; i<n; i++)
scanf("%d", &a[i]); k[0] = 1;
for (i=1; i<n; i++)
{
k[i] = 1;
for (j=i-1; j>=0; j--)
{
if (a[j] >= a[i] && k[j]+1 > k[i])
k[i] = k[j] + 1;
}
} int max = 0;
for (i=0; i<n; i++)
max = k[i]>max ? k[i] : max;
printf("%d\n", max);
} return 0;
}
/**************************************************************
Problem: 1112
User: liangrx06
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/
												

最新文章

  1. 干货分享:MySQL之化险为夷的【钻石】抢购风暴
  2. [转]javascript eval函数解析json数据时为什加上圆括号eval(&quot;(&quot;+data+&quot;)&quot;)
  3. flexigrid扩展(添加全选,格式化表单)
  4. OpenCV count the number of connected camera 检测连接的摄像头的数量
  5. 清除浮动1-使用:after 伪元素
  6. Android IOS WebRTC 音视频开发总结(三八)-- tx help
  7. 在Linux终端执行clear或top命令时出现:&#39;xterm&#39;: unknown terminal type
  8. supesite 相关 修改
  9. C# 窗体程序入门 之计算器
  10. MySQL数据引擎
  11. vue中的数据监听以及数据交互
  12. gcc编译基本用法~1
  13. Python:Day19 正则表达式补充
  14. postman(三):添加断言
  15. LabVIEW(十六):多列列表框控件
  16. Best quotes from The Vampire Diary(《吸血鬼日记》经典台词)
  17. instrument之Time Profiler总结
  18. 机器学习入门-数值特征-对数据进行log变化
  19. nodeJs 接收请求参数和发送请求参数
  20. drawCall_01

热门文章

  1. 用jquery写的图片懒加载
  2. 转 浅谈C++中指针和引用的区别
  3. 24深入理解C指针之---指针和数组
  4. yii使用bootstrap分页样式
  5. 拖拽排序插件 ---- Dragula
  6. javascript对象初探 (五)--- 函数对象的属性
  7. iOS应用崩溃日志揭秘
  8. 【spring mvc】后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Specified class is an interface
  9. httplib 和 httplib2区别之 gzip解压
  10. Geometry Shader 【转】