codevs——1044 拦截导弹(序列DP)
1999年NOIP全国联赛提高组
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。
输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数)
输出这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。
389 207 155 300 299 170 158 65
6
2
导弹的高度<=30000,导弹个数<=20
分类标签 Tags 点此展开
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int n,a[100],f[100],ans,sum,g[100],p; int main() {while(scanf("%d",&p)!=EOF) {a[++n]=p;f[n]=1,g[n]=1;} /// n--;for(int i=2;i<=n;i++)for(int j=1;j<i;j++){if(a[j]>a[i])f[i]=max(f[j]+1,f[i]);if(a[j]<a[i])g[i]=max(g[j]+1,g[i]);} for(int i=1;i<=n;i++)ans=max(f[i],ans),sum=max(g[i],sum);printf("%d\n",ans);printf("%d",sum);return 0;}
思路:
有没有发现这个题和上一个题(最长严格上升子序列)有异曲同工之妙。
上一个题是求最长上升子序列,这个题是求最长下降子序列!
原因:每次都只能拦比他矮的导弹,所以只要求最长下降子序列就好了!
第二问:求系统个数,那只需要求最长上升子序列就好了!
由于每个导弹只拦比他低的,所以每一列中最大的数构成的一定没有系统可以拦截他,所以只需把这些数求出即可
转载于:https://www.cnblogs.com/z360/p/6751608.html
codevs——1044 拦截导弹(序列DP)相关推荐
- CodeVS 1044 拦截导弹(DP)
题目大意: http://codevs.cn/problem/1044/ 第一问题就是求序列的最长递减数列的长度,第二问就是求数列的最长递增序列的长度. 代码: #include <iostre ...
- 1044 拦截导弹——http://codevs.cn/problem/1044/
第一部分:题目 题目描述 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于 ...
- 拦截导弹(dp【最长上升子序列模型】 + 贪心)
AC Wing 1010 拦截导弹 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统. 但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度 ...
- BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化)
BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化) 1 #include<algorithm> 2 #include<iostream> 3 #include ...
- 单调递增最长子序列 拦截导弹(nyoj 17 nyoj 79)
思路参考:点击打开链接 单调递增最长子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf ...
- HDOJ---1257 最少拦截系统[线性DP]+NYOJ---拦截导弹[输出最长单调子序列的长度]
最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- BZOJ 2244: [SDOI2011]拦截导弹 DP+CDQ分治
2244: [SDOI2011]拦截导弹 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度.并且能够拦截 ...
- 动态规划之——又见拦截导弹(nyoj814)
问题描述: 又见拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 大家对拦截导弹那个题目应该比较熟悉了,我再叙述一下题意:某国为了防御敌国的导弹袭击,新研制出来一 ...
- 动态规划之——拦截导弹(nyoj79)
问题描述: 拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮 ...
最新文章
- Halcon检测边缘——笔记
- 字节跳动客户开发_实习|字节跳动 客户端实习生 1-5面 面经
- 06.十分钟学会表达式语言EL
- Shell 控制并发
- Leetcode周赛复盘——第 278 场力扣周赛
- python 档案管理系统_Python 写入档案的 4 个方法
- matlab中欧姆如何表示,在excel中欧姆符号怎么打
- Java面试题:IO流的标准处理异常的代码
- python3指定目录所有excel_如何用python遍历文件夹下的所有excel文件
- linux 安装flash tar.gz,ubuntu下安装flash(tar.gz格式)
- 使用MOE进行药效团建模与分析
- Oracle 在 Linux 下移动控制文件步骤
- openstack 云主机关机:ournal: End of file while reading data: Input/output error
- mugen linux主程序,MUGEN主程序
- 在线光纤网速测试软件,adsl网速测试(中国移动宽带专用测速软件)
- CuteFtpnbsp;Pro之站点导入导出
- dispatch_barrier_GCD学习之dispatch_barrier_async详解
- 修改功能测试的测试点
- pf与ckf_CKF中国功夫杯
- 2018-07-11CROSS JOIN+INNER JOIN+LEFT JOIN+RIGHT JOIN