导弹拦截(pascal)
导弹拦截
【问题描述】
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。
输入导弹依次飞来的高度(雷达给出的高度数据是不大于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)相关推荐
- 洛谷P1020/CODEVS1044 导弹拦截(拦截导弹)
本题地址: http://www.luogu.org/problem/show?pid=1020 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的 ...
- JZOJ 5354. 【NOIP2017提高A组模拟9.9】导弹拦截
Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统. 敌国的导弹形成了立体打击,每个导弹可以抽象成一个三维空间中的点(x; y; z).拦截系统发射的炮弹也很好地应对了这种情况 ...
- [NOIP 2010普及组 No.3] 导弹拦截
[NOIP 2010普及组 No.3] 导弹拦截 [题目描述] 经过11 年的韬光养晦,帝国研发出了一种新的导弹拦截系统,凡是与它的距离不超过其工作半径的导弹都能够被它成功拦截.当工作半径为0 时,则 ...
- P1020 导弹拦截(最长不上升序列+二分)
题目链接 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到 ...
- P1020 导弹拦截(LIS)
题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...
- P1020 导弹拦截(n*log n时间的最长上升子序列思想)
题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...
- 动态规划练习1 [导弹拦截]
[问题描述] 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然 它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到 敌 ...
- 导弹拦截(洛谷-P1020)
题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...
- P1020 导弹拦截
题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...
最新文章
- eclipse新建python文件夹_eclipse 如何创建python文件
- 热电偶校验仪使用说明_热电偶冷端补偿方法
- java exec执行tar_用java调用rpmbuild 报错,同一条命令直接复制到终端却能运行
- 第七十六期:3000台服务器不宕机,微博广告系统全景运维大法
- 微课|中学生可以这样学Python(2.2.3节):in和is
- 【转】反射,DataRow转换为实体类(优化)
- React使用jsbarcode条形码插件
- 如何批量导入文件夹,批量重命名
- 复原 IP 地址(回溯)
- Ogre 合成器 compositor
- Justinmind Prototyper中如何使用变量达到一些效果
- GD32VF103_CAN发送
- Oracle转MySQL存储函数percentile_cont(比例) WITHIN GROUP( ORDER BY to_number(分数) )用法
- 番茄花园 Ghost XP SP3 2012 06 电脑城极速装机版
- windows桌面怎么添加计算机,Windows桌面添加我的电脑
- 这所C9高校的8个CS院系,有你心仪的吗?
- 云队友丨拼多多的两个世界
- json解析工具(json解析工具 python)
- 针对亚马逊卖家可深挖的畅销产品建议
- HTML(3):IE浏览器编程 - vcmute的专栏 - CSDNBlog