导弹拦截

【问题描述】

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

输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。

【输入格式】:(mis.in)

8

389 207 155 300 299 170 158 65

【输出格式】(mis.out)

6(最多能拦截的导弹数)

2(要拦截所有导弹最少要配备的系统数)

【分析】

原问题等价于求序列的最长不下降子序列的长度

设a[i]保存原序列的值,b[i]保存以a[i]为不下降子序列最后一个元素的序列长度,则:

b[i]=max(b[j])+1(1<=j<i,a[j]<=a[i]),最后b[]中的最大值就是所求。

【pascal代码】

program mis(input,output);
const
maxn=100;
var
a:array[1..maxn] of integer;
h:array[1..maxn] of integer;
n:integer;

procedure init;
var i:longint;
begin
read(n);
for i:=1 to n do read(a[i]);
end;

procedure solve;
var i,j:Integer;
begin
for i:=1 to n do
begin
h[i]:=1;
for j:=1 to i-1 do
if (a[j]>=a[i]) and (h[j]+1>h[i]) then h[i]:=h[j]+1;
end;
j:=0;
for i:=1 to n do
if h[i]>j then j:=h[i];
writeln(j);

for i:=1 to n do
begin
h[i]:=1;
for j:=1 to i-1 do
if (a[j]<a[i]) and (h[j]+1>h[i]) then h[i]:=h[j]+1;
end;
j:=0;
for i:=1 to n do
if h[i]>j then j:=h[i];
writeln(j);
end;

begin
init;
solve;
end.

转载于:https://www.cnblogs.com/DingYi0602OIer/p/7674239.html

导弹拦截(pascal)相关推荐

  1. 洛谷P1020/CODEVS1044 导弹拦截(拦截导弹)

    本题地址: http://www.luogu.org/problem/show?pid=1020 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的 ...

  2. JZOJ 5354. 【NOIP2017提高A组模拟9.9】导弹拦截

    Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统. 敌国的导弹形成了立体打击,每个导弹可以抽象成一个三维空间中的点(x; y; z).拦截系统发射的炮弹也很好地应对了这种情况 ...

  3. [NOIP 2010普及组 No.3] 导弹拦截

    [NOIP 2010普及组 No.3] 导弹拦截 [题目描述] 经过11 年的韬光养晦,帝国研发出了一种新的导弹拦截系统,凡是与它的距离不超过其工作半径的导弹都能够被它成功拦截.当工作半径为0 时,则 ...

  4. P1020 导弹拦截(最长不上升序列+二分)

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

  5. P1020 导弹拦截(LIS)

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

  6. P1020 导弹拦截(n*log n时间的最长上升子序列思想)

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

  7. 动态规划练习1 [导弹拦截]

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

  8. 导弹拦截(洛谷-P1020)

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

  9. P1020 导弹拦截

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

最新文章

  1. eclipse新建python文件夹_eclipse 如何创建python文件
  2. 热电偶校验仪使用说明_热电偶冷端补偿方法
  3. java exec执行tar_用java调用rpmbuild 报错,同一条命令直接复制到终端却能运行
  4. 第七十六期:3000台服务器不宕机,微博广告系统全景运维大法
  5. 微课|中学生可以这样学Python(2.2.3节):in和is
  6. 【转】反射,DataRow转换为实体类(优化)
  7. React使用jsbarcode条形码插件
  8. 如何批量导入文件夹,批量重命名
  9. 复原 IP 地址(回溯)
  10. Ogre 合成器 compositor
  11. Justinmind Prototyper中如何使用变量达到一些效果
  12. GD32VF103_CAN发送
  13. Oracle转MySQL存储函数percentile_cont(比例) WITHIN GROUP( ORDER BY to_number(分数) )用法
  14. 番茄花园 Ghost XP SP3 2012 06 电脑城极速装机版
  15. windows桌面怎么添加计算机,Windows桌面添加我的电脑
  16. 这所C9高校的8个CS院系,有你心仪的吗?
  17. 云队友丨拼多多的两个世界
  18. json解析工具(json解析工具 python)
  19. 针对亚马逊卖家可深挖的畅销产品建议
  20. HTML(3):IE浏览器编程 - vcmute的专栏 - CSDNBlog

热门文章

  1. Django: jQuery中的function学习(一)
  2. [linux]查看linux下端口占用
  3. python-MySQLdb-练习
  4. 再发些CSS常用技巧和兼容方案
  5. remoting和webservice的区别
  6. suse11.3下samba服务的配置
  7. DeepLearning tutorial(1)Softmax回归原理简介+代码详解
  8. jQuery中HTML的操作
  9. ES6的新特性----Vue学习必备基础知识
  10. java 程序架构知识