(Java实现) 拦截导弹
1260:【例9.4】拦截导弹(Noip1999)
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 4063 通过数: 1477
【题目描述】
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。
输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,导弹数不超过1000),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。
【输入】
n (一共n个导弹)
输入导弹依次飞来的高度。
【输出】
第一行:最多能拦截的导弹数;
第二行:要拦截所有导弹最少要配备的系统数。
【输入样例】
389 207 155 300 299 170 158 65
【输出样例】
6
2
思路:
求最多能拦截的导弹数就是求最长不上升子序
求拦截系统数,就是求最长上升子序
import java.util.Scanner;public class lanjiedaodanwenti {public static void main(String args[]) {Scanner sc = new Scanner(System.in);
//
// String str = sc.nextLine();
// String[] s = str.split(" ");int n = sc.nextInt();int[] num = new int[n];
// for(int i=0; i<s.length; i++) num[i] = Integer.parseInt(s[i]);for (int i = 0; i <n; i++) {num[i]=sc.nextInt();}int[] dp_1 = new int[n];int[] dp_2 = new int[n];for(int i=0; i<n; i++) {dp_1[i] = 1; dp_2[i] = 1;}for(int i=0; i<n; i++) {for(int j=0; j<i; j++) {if(num[i]<=num[j]) {dp_1[i] = Math.max(dp_1[i], dp_1[j]+1);}else {dp_2[i] = Math.max(dp_2[i], dp_2[j]+1);}}}
// for(int i=0; i<s.length; i++) System.out.print(dp_1[i]+" ");
// System.out.println();
// for(int i=0; i<s.length; i++) System.out.print(dp_2[i]+" ");
// System.out.println();int ans_1 = -1, ans_2 =-1;for(int i = 0; i<n; i++) {ans_1 = Math.max(ans_1, dp_1[i]);ans_2 = Math.max(ans_2, dp_2[i]);
// System.out.print(num[i]+" ");}
// System.out.println();System.out.println(ans_1);System.out.println(ans_2); }
}
(Java实现) 拦截导弹相关推荐
- Java 算法 拦截导弹
目录标题 题目描述 解题思路 代码 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一 ...
- Android Java虚拟机拦截技术分析
2019独角兽企业重金招聘Python工程师标准>>> 最近反编译金山毒霸,分析其广告拦截功能是如何实现的.根据金山毒霸的介绍,采用了java虚拟机拦截技术,带着好奇去研究了一下.在 ...
- BZOJ 2244: [SDOI2011]拦截导弹 DP+CDQ分治
2244: [SDOI2011]拦截导弹 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度.并且能够拦截 ...
- BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化)
BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化) 1 #include<algorithm> 2 #include<iostream> 3 #include ...
- BZOJ2244 [SDOI2011]拦截导弹 【cdq分治 + 树状数组】
题目 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度.并且能够拦截任意速度的导弹,但是以后每一发炮弹都不能高于前一发的高度,其 ...
- 1044 拦截导弹——http://codevs.cn/problem/1044/
第一部分:题目 题目描述 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于 ...
- 动态规划之——又见拦截导弹(nyoj814)
问题描述: 又见拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 大家对拦截导弹那个题目应该比较熟悉了,我再叙述一下题意:某国为了防御敌国的导弹袭击,新研制出来一 ...
- 动态规划之——拦截导弹(nyoj79)
问题描述: 拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮 ...
- NYOJ 79 拦截导弹
拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任 ...
最新文章
- 【IM】关于多任务学习的理解
- (stl排序+检索)大理石在哪
- 解决nginx无法启动的问题——端口被占用
- uni-app中的tabBar配置
- 打印1到最大的n位数
- Android:屏幕自适应
- node2vec简单总结
- 计算机术语 打桩,动力打桩公式
- 面试被问到项目架构怎么说呢?
- html网页文本框无法输入,浏览器打开网页文本框无法输入文字如何解决
- bootstrap4-Collapse 折叠 酷炫特效
- Vue 不睡觉教程3 - 来点实在的:自动计算剩余时间的任务列表
- 算法图解(递归调用栈)
- 巴比特 | 元宇宙每日必读:数字藏品二级市场乱象丛生,00后成新韭菜,监管迫在眉睫?...
- awscli配置Access key ID和Secret access key
- java 怎么让打印信息换行?
- 网络爬虫:网页信息获取
- windows 和 Linux 查看IP属性(ipconfig,ifconfig)
- 基于C++控制台(Windows平台)的一个植物大战僵尸小游戏
- 有1分,2分,5分,10分四种硬币,每种硬币数量无限,给定n分钱(n <= 100000),有多少中组合可以组成n分钱?