1260:【例9.4】拦截导弹(Noip1999)

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 15078     通过数: 5806

【题目描述】

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

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

【输入】

输入导弹依次飞来的高度。

【输出】

第一行:最多能拦截的导弹数;

第二行:要拦截所有导弹最少要配备的系统数。

【输入样例】

389 207 155 300 299 170 158 65

【输出样例】

6
2

【分析】

第一问最长不上升子序列问题。用a[x]表示原序列中第 x 个元素,b[x]表示长度为 x的不下降子序列的长度。当处理 a[x]时,可查找它可以连接到长度最大为多少的不下降子序列后(即与部分 b[x]比较)。假设可以连到长度最大为 maxn的不下降子序列后,则 b[x]=maxn十1。b 数组被赋值的最大值就是第一问的答案。
        第二问最长不下降子序列问题。

【参考代码】

#include <stdio.h>
#define N 1010int dp1[N];            //第一问,最长不上升子序列
int dp2[N];            //第二问,最长不下降之序列
int f[N];              //导弹序列 int max(int x,int y)
{return x > y ? x : y;
}int main()
{int idx=0,ans=0,cnt=0;int i,j;while(scanf("%d", &f[idx])!=EOF)          //遇到文件尾自动结束 Ctrl+Eidx++;for(i=0;i<idx;i++){dp1[i]=dp2[i]=1;for(j=0;j<i;j++){if(f[i]<=f[j])                    // 最长不上升子序列dp1[i]=max(dp1[i],dp1[j]+1);else                              // 最长不下降子序列dp2[i]=max(dp2[i],dp2[j]+1);}if(ans<dp1[i])ans=dp1[i];if(cnt<dp2[i])cnt=dp2[i];}printf("%d\n%d\n",ans,cnt);return 0;
}

http://ybt.ssoier.cn:8088/problem_show.php?pid=1260

信息学奥赛一本通(1260:【例9.4】拦截导弹(Noip1999))相关推荐

  1. 【例1】 0/1背包《信息学奥赛一本通》【解法一】 02

    /* [例1] 0/1背包<信息学奥赛一本通>[解法一] 02 http://ybt.ssoier.cn:8088/problem_show.php?pid=1267 */ #includ ...

  2. 【例8】合唱队形(《信息学奥赛一本通第五版》)

    /* [例8]合唱队形(<信息学奥赛一本通第五版>) http://ybt.ssoier.cn:8088/problem_show.php?pid=1264 [问题描述] N位同学站成一排 ...

  3. 信息学奥赛一本通 2021:【例4.6】最大公约数

    [题目链接] ybt 2021:[例4.6]最大公约数 [题目考点] 1. while循环 2. 求最大公约数 辗转相减法 辗转相除法 [解题思路] 解法1:枚举 取较小数字,从该数字的值开始从大到小 ...

  4. 信息学奥赛一本通(2032:【例4.18】分解质因数)

    2032:[例4.18]分解质因数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 582     通过数: 376 [题目描述] 把一个合数分解成若干个质因数乘积 ...

  5. 信息学奥赛一本通——2062:【例1.3】电影票

    2062:[例1.3]电影票 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 57341     通过数: 34230 [题目描述] 已知一位小朋友的电影票价是10 ...

  6. 信息学奥赛一本通 1278:【例9.22】复制书稿(book) | 洛谷 P1281 书的复制

    [题目链接] ybt 1278:[例9.22]复制书稿(book) 洛谷 P1281 书的复制 [题目考点] 1. 动态规划:线性动规 [解题思路] 该题可以抽象为:将由m个数字构成的序列分成k个子段 ...

  7. 信息学奥赛一本通1267:【例9.11】01背包问题(二维dp与滚动数组优化)

    [题目描述] 一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,...,WnW1,W2,...,Wn,它们的价值分别为C1,C2,...,CnC1,C2,. ...

  8. 信息学奥赛一本通C++语言-----2036:【例5.3】开关门

    [题目描述] 宾馆里有n(2≤n≤1000)n(2≤n≤1000) 个房间,从1∼n1∼n 编了号.第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是22 的倍数的房间"相反处理& ...

  9. 信息学奥赛一本通——2068:【例2.6】鸡兔同笼

    大家好(๑╹◡╹)ノ" 这里是小蒟蒻 一天没更新了呢! 今天给大家带来<信息学奥赛一本通--2068:[例2.6]鸡兔同笼> 题目: 2068:[例2.6]鸡兔同笼 时间限制: ...

最新文章

  1. 硬核!30 张图解 HTTP 常见的面试题
  2. 关于Docker的理解
  3. 关于.NET技术体系的思维导图
  4. Dubbo源码-从HelloWorld开始
  5. 最优化学习笔记(四)共轭梯度法
  6. sqlite3 出错
  7. html5支持哪媒体,html5 支持哪些媒体元素
  8. oracle怎么使用包,oracle包(package)入门——应用实例
  9. ecshop send.php on line 71,搭建LNMP发布ecshop系统及压测启用opcache缓存与否的情况
  10. 2021中国科学院文献情报中心期刊分区表 计算机
  11. stata基础--异方差检验和处理
  12. C语言——单词精确查找
  13. mysql group by 命令_MySQL常用命令(八)--GROUP BY、HAVING、SELECT子句的顺序
  14. dvd在线租赁问题 matlab,DVD在线租赁服务管理模型
  15. ant design 预览图片_Ant Design Pro上传图片
  16. 利用BaiduPCS-Go批量秒传与备份
  17. android点击不灵敏,华为手机触摸屏没反应怎么办?解决手机触摸屏时灵时不灵的办法...
  18. 互联网快讯:武大研发核酸检测新方法;多款「隔离险」仓皇下架;刘传健出任中国民航飞行学院总飞行师
  19. Pygame学习笔记11:三角函数及Tank Battle游戏
  20. Compiling Cpp

热门文章

  1. request.cookie[name]的到的过期时间是{0001-1-1 0:00:00}
  2. 每天拿起手机100次,使用7小时?iOS 12告诉你时间都去哪儿了
  3. 年终总结 Trustdata:2017年中国移动互联网行业发展分析报告
  4. FreeRTOS内存管理
  5. STM32之CAN总线例程
  6. 记一次提升18倍的性能优化
  7. “力挺Java!拒绝Python”9万程序员刷爆朋友圈……
  8. 你真的确定Spring AOP的执行顺序吗
  9. 都9012年了,还有人说IntelliJ IDEA不好用?那是因为没掌握这些技巧。
  10. 爱奇艺程序员落户北京后离职被判赔 10 万,网友:太值了简直白送