博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RQNOJ PID217 / [NOIP1999]拦截导弹【n^2 / LIS】
阅读量:4949 次
发布时间:2019-06-11

本文共 974 字,大约阅读时间需要 3 分钟。

题目描述

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

输入格式

输入数据为两行,

第一行为导弹的数目N(n<=1000)

第二行导弹依次飞来的高度,所有高度值均为不大于30000的正整数。

输出格式

输出只有一行是这套系统最多能拦截的导弹数和要拦截所有导弹最少要配备这种导弹拦截系统的套数。两个数据之间用一个空格隔开.

样例输入

8
389 207 155 300 299 170 158 65
样例输出
6 2

#include
using namespace std;const int N=500005;int dp[N],n,ans=0x7fffffff;int a[N];void LIS(int *a, int *b, int n){ int max1 = 0, max2 = 0; for(int i=0; i
=0; i--){ for(int j=n-1; j>i; j--){ if(a[i]>a[j] && dp[i] < dp[j] + 1){ dp[i] = dp[j] + 1; } } } for(int i=0; i
a[j] && dp[i] < dp[j] + 1){ dp[i] = dp[j] + 1; } } } for(int i=0; i
> n){ for(int i=0; i
> a[i]; } LIS(a,dp,n); }}

转载于:https://www.cnblogs.com/Roni-i/p/9004978.html

你可能感兴趣的文章
OC进阶(三)
查看>>
Android中Context详解——你所不知道的Context
查看>>
C#中DBNull.Value和Null的用法和区别
查看>>
P4782 【模板】2-SAT 问题
查看>>
etcd节点扩容至两个节点
查看>>
Opensuse系统配置记录
查看>>
【windows8开发】开发平台与开发框架
查看>>
机电行业如何进行信息化建设
查看>>
Windows Azure Platform Introduction (4) Windows Azure架构
查看>>
【转】chrome developer tool 调试技巧
查看>>
mahout运行测试与kmeans算法解析
查看>>
互相给一巴掌器
查看>>
Android SDK环境变量配置
查看>>
VM10虚拟机安装图解
查看>>
9、总线
查看>>
Git 笔记 - section 1
查看>>
java通过jsp+javaBean+servlet实现下载功能
查看>>
STM32 使用Cubemx 建一个USB(HID)设备下位机,实现数据收发
查看>>
让Git忽略SSL证书错误技巧
查看>>
异步表单提交
查看>>