【问题描述】

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

【输入形式】

每组输入有两行,

第一行,输入雷达捕捉到的敌国导弹的数量k(k<=25),

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

【输出形式】

每组输出只有一行,包含一个整数,表示最多能拦截多少枚导弹。

【样例输入】

8
300 207 155 300 299 170 158 65

【样例输出】

6

经典的一维dp问题,只需要计算每个位置可拦截的最大导弹数,之后在进行排序即可

动态规划:1.dp[]表示位置i可拦截的最大导弹数

2.初值dp[0]=0

3.关系式:dp[j]=max(dp[j],dp[i]+1)

300 207 155 300 299 170 158 65
i=0 1 1 1 1 1 1 1 1
i=1 1 2 2 2 2 2 2 2
i=2 1 2 3 2 2 3 3 3
i=3 1 2 3 2 2 3 3 4
i=4 1 2 3 2 3 3 3 3
i=5 1 2 3 2 3 4 4 4
i=6 1 2 3 2 3 4 5 5
i=7 1 2 3 2 3 4 5 6
#include <iostream>
#include <algorithm>
using namespace std;int main()
{int n;cin>>n;int a[n];for(int i = 0;i < n;i++){cin>>a[i];}int dp[26];//记录截至第i号导弹可拦截的最大导弹数dp[0] = 1;//第一枚导弹开始计算为1for(int i = 0;i < n-1;i++)//从第一发导弹开始往后计算{dp[i] = 1;for(int j = i + 1;j < n;j++)//在i后面的导弹中筛查if(a[j] <= a[i])//高度小于i号导弹,可拦截{dp[j] = max(dp[j],dp[i] + 1);//与原来的相比,取大}}sort(dp,dp + n);//排序,取最大值cout<<dp[n-1]<<endl;return 0;
}

ccf---导弹防御系统相关推荐

  1. 拦截导弹 导弹防御系统

    拦截导弹 & 导弹防御系统 拦截导弹 导弹防御系统 拦截导弹 题目链接:acwing1010. 拦截导弹 题目描述: 输入输出: 分析: 第一个问题为输出最长递减子序列,由于导弹数在1000以 ...

  2. C++---最长上升子序列模型---导弹防御系统(每日一道算法2023.3.5)

    注意事项: 本题的dp:"线性dp-最长上升子序列的长度" 本题的贪心(单调队列):"最长上升子序列模型-拦截导弹" 下面思路只讲如何运用这些东西来解这道题 强 ...

  3. 导弹防御系统[导弹拦截系统]

    导弹防御系统[dfs] 题目链接 引言(请忽略):今天是小白ACM集训的日子,然后数据结构实在是太难了,真是学不动了,然后就只能无助地去复习以前的题了,记得以前在SDUT程设二里面有一道题叫最少拦截系 ...

  4. 导弹防御系统,如何跟蜻蜓的大脑学习计算?

    来源:大数据文摘 作者:Frances Chance 多雨的夏季,蜻蜓最为常见,这些美丽的生物的飞行速度极快,狩猎能力也极为出色:蜻蜓狩猎的成功率捕获了高达95% ,它们一天可以吃掉数百只蚊子. 这种 ...

  5. 问题 : 导弹防御系统

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

  6. CG14导弹防御系统

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

  7. AcWing LIS相关问题 187 导弹防御系统

    ''' DFS枚举所有可能的元素放到上升序列或者下降序列的情况 '''ans = [0x7fffffff] # 最小序列总数 up = [0] * 60 # 上升序列的尾数数值 down = [0] ...

  8. 【NOIP2013模拟】导弹防御塔

    题目 Freda的城堡-- "Freda,城堡外发现了一些入侵者!" "喵-刚刚探究完了城堡建设的方案数,我要歇一会儿嘛lala~" "可是入侵者已经 ...

  9. 信息学奥赛第十节 —— 贪心算法(渡河问题POJ 1700 Crossing River + 拦截导弹的系统数量求解)

    复习概念 贪心算法又叫贪婪算法,是指在对问题求解时,总是做出在当前看来是最好的选择.也就是说,贪心算法不从整体最优上加以考虑,它所做出的是在某种意义上的局部最优解. 无后效性:贪心算法不是对所有问题都 ...

  10. 会玩,有人用 Python 模拟导弹防御!

    作者:半壶砂 https://www.cnblogs.com/halfsand/p/7976636.html 最近中|东闹得凶,除了对某色列强烈谴责,最吸引眼球的要是他们的铁穹防御系统. 那如何用Py ...

最新文章

  1. js-移动端android浏览器中input框被软键盘遮住的问题解决方案
  2. Linux 下的多线程下载工具
  3. 2015-03-19 create php alternative for myslq_result in mysqli(PHP)--PDO Tutorial for Mysql Developers
  4. 方法论:写好一份产品需求的系统化思考模型
  5. Java中 volatile 关键字的最全总结,赶快给自己查缺补漏吧!
  6. java io重定向,java中的标准重定向标准IO_java标准IO_java构建器_课课家
  7. Ubuntu解压文件的方法
  8. bzoj 3123 [Sdoi2013]森林
  9. wordpresd免登录发布接口php_实现wordpress的ajax接口请求学会admin-ajax.php的利用
  10. Unity 修改asset store下载路径(win10)
  11. 英雄无敌Ⅲ之游戏修改器DIY
  12. java 分词获取词性_jie分词之分词、词性分析、关键词抽取
  13. Cisco交换机配置VTP
  14. ios键盘遮挡输入框问题
  15. 探索人群客单价差异的显著性,使用SPSS就能轻松做到
  16. 如何设置 Mac 键盘的打字音效?
  17. 云来观点:云来Light app优于百度轻应用
  18. ajax有哪些常用参数?ajax参数介绍
  19. sbt的安装和应用(详细步骤)
  20. 移动硬盘插在电脑上提示需要将其格式化,我该怎么办?

热门文章

  1. 微信小程序 -对应的服务器证书无效
  2. 随着员工转为远程办公,Diligent在所有董事会管理平台中提供无缝视频会议接入,确保安全的虚拟董事会议
  3. php确保多进程同时写入一个文件,php多进程读写同一个文件锁的问题及flock详解...
  4. vim时”E575: viminfo: Illegal starting char in line。。。。。。
  5. 解决Sheet can not be presented because the view is not in a window这样的问题
  6. 安装Ceres Solver
  7. objective-C的内存管理机制琢磨不透
  8. 清除计算机用户缓存,如何清除电脑缓存垃圾,电脑清理缓存方法
  9. 制图小课堂:美国机场可视化黑白围棋风格专题
  10. 互联网产品经理必读书目推荐