首页 > 其他分享 >可达鸭J3题目 拦截导弹

可达鸭J3题目 拦截导弹

时间:2025-01-22 18:28:16浏览次数:3  
标签:拦截导弹 maxx 题目 dp2 int 导弹 1008 拦截 J3

题目描述

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

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

输入描述

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

输出描述

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

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

样例

输入

389 207 155 300 299 170 158 65

输出

6
2

AC代码

#include<bits/stdc++.h>
using namespace std;
int n,a[1008],dp1[1008],dp2[1008],cnt,t,maxx; 
int main(){
    while(cin>>t){
    	n++;
    	a[n]=t;
	}
	for(int i=1;i<=n;i++){
		dp1[i]=1;
		for(int j=1;j<i;j++){
			if(a[i]<=a[j]){
				dp1[i]=max(dp1[j]+1,dp1[i]);
			}
		}
		maxx=max(maxx,dp1[i]);
	}
	cout<<maxx<<"\n";
	maxx=0;
	for(int i=1;i<=n;i++){
		dp2[i]=1;
		for(int j=1;j<i;j++){
			if(a[i]>a[j]){
				dp2[i]=max(dp2[j]+1,dp2[i]);
			}
		}
		maxx=max(maxx,dp2[i]);
	}
	cout<<maxx<<"\n";
	return 0;
}

标签:拦截导弹,maxx,题目,dp2,int,导弹,1008,拦截,J3
From: https://blog.csdn.net/LXY130519/article/details/145307114

相关文章

  • 《零基础Go语言算法实战》【题目 7-4】删除数组重复项,使每个元素只出现一次并返回新的
    《零基础Go语言算法实战》【题目7-4】删除数组重复项,使每个元素只出现一次并返回新的长度给定一个排序数组array,就地删除重复项,使每个元素只出现一次并返回新的长度。不要为另一个数组分配额外的空间,开发者必须通过使用空间复杂度为O(1)的额外内存就地修改输入数组来做到......
  • springboot基于微信小程序的校园信息交流平台_7icj3u7i
    收藏关注不迷路!!......
  • 可达鸭J3题目 supermarket
    题目描述 超市里有N件商品,每个商品都有利润pi和过期时间di,每天只能卖一件商品,卖掉一件物品要用 1的时间,过期商品(即当天di<=0)不能再卖。求合理安排每天卖的商品的情况下,可以得到的最大收益是多少。 0≤N≤1000001≤pi,di≤10000  输入描述 每组数据一行,首先一......
  • [BZOJ3160] 万径人踪灭 题解
    首先正难则反,想到答案即为满足第一条要求的回文子序列数量,减去回文子串数量。回文子串数量\(hash+\)二分即可,考虑前半部分。假如我们将一个回文子序列一层层剥开,就会发现它其实是由多个相同的字母对拼成的。那么容易想到把字母\(a\)和字母\(b\)的贡献分开计算。那第一条要......
  • 记录一个组合意义的题目
    记录一个组合意义的题目对于所有的\(s\in[1,n]\),求出:\[\sum_{i=p}^m{i+s-1\chooses-1}{m-i+n-s-1\choosen-s-1}\]其中\(p,m\)是给定的常数,\(n,m,p\le10^6\)。来源:在星河里我们将\(s\)的答案设作\(f(s)\)。考虑组合意义:将\(m\)个小球放入\(n\)个盒子,且前\(s......
  • [BZOJ3451] Normal 题解
    这题分三步:葺网(期望)、淀粉质(点分治)、蓉翅(容斥),再佐以芬芳团(FFT),一道巨难无比的luogu黑题就诞生了。期望先考虑在淀粉树上,\(i\)点在\(j\)点的子树里的概率。实际上这个问题的每种情况相当于是\(n\)个点的各种排列方式。这也就相当于,我们在选择\(j\)点之前,没有选择路径\((......
  • 可达鸭J3题目 排队接水
    题目描述有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序(若有多种顺序则编号小的在前),使得n个人的平均时间花费最小。输入描述输入文件共两行,第一行为n;第二行分别表示第1个人到第n个人每人的接水时间T1,T2,…,Tn,每个数据之间有1个......
  • 2024年最新计算机毕业设计选题题目参考,2000+ Java毕业设计题目,值得收藏,另有python,小程
     风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。最近有很多同学咨询,说快要毕业设计了,不知道选什么题目比较好,有哪些方面是需要注意的。基于这一点,这里整理了一些java毕业设计的题目,大家可以参考一下,希望能对大家有所帮助。一、整体设计方向Java目前仍然是最......
  • 初赛题目总结
    前言:记录一些初赛知识点stl类1.1:memcpy函数,从存储区str2复制n个字节到存储区str用法:memcpy(a,b,size(b));数组类2.1:在C++中,声明数组时可以省略数组大小是错误的。2.2:获取数组大小写法:sizeof(arr)/sizeof(arr[0])2.3:尽管数组大小通常在编译时确定,但通过动态分......
  • 笔试经典题目
    //笔试经典题目 letstr='abc#name&defg'//01.测试字符串的翻转constres=str.split('').reverse().join('') console.log('测试字符串的翻转',res);02.取出里面的nameconstindex1=str.indexOf('#') constindex2=str.......