hdu1257 最少拦截系统【想了好久】

最少拦截系统

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)

Problem Description
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.
怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系统.

Input
输入若干组数据.每组数据包括:导弹总个数(正整数),导弹依此飞来的高度(雷达给出的高度数据是不大于30000的正整数,用空格分隔)

Output
对应每组数据输出拦截所有导弹最少要配备多少套这种导弹拦截系统.

Sample Input
8 389 207 155 300 299 170 158 65

Sample Output

2

解题思路:一开始没有理解题意,利用贪心来做提交错了好几遍,后来看见网上的博客才知道是求最长上升子序列问题。

<pre name="code" class="cpp">#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{int n,ans,a[3000],b[3000];//利用a数组来存元素的值,利用b数组存储每个值的最长递增子序列while(~scanf("%d",&n)){for(int i=0;i<n;i++){b[i]=1;cin>>a[i];//例如:a[]={1,2,3,5,3,8,4,7,8,9}}for(int i=1;i<n;i++){for(int j=0;j<i;j++)if(a[i]>a[j]&&b[i]<b[j]+1)/*1.a[1]>a[0] b[1]=2 2.a[2]>a[0] b[2]<b[0]+1 b[2]=b[0]+1=2 a[2]>a[1] b[1]<b[2]+1 b[2]=3 ....*/b[i]=b[j]+1;}ans=0;for(int i=0;i<n;i++){if(ans<b[i])ans=b[i];}cout<<ans<<endl;}return 0;
}


一开始的错误代码,想了好久才知道是最长上升子序列问题。

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct st
{// int m[3000];int s,e;
}s1[30000];
int cmp(st a,st b)
{return a.e>b.e;
}
int main()
{int a[30000],n;while(~scanf("%d",&n)){int l=0,t=30000,k=0,p=0,s,e;for(int i=0;i<n;i++){cin>>p;if(i==0){s=p;}if(p<t&&i==n-1){s1[l].s=s;s1[l].e=p;l++;k=2;}if(p>=t){e=t;s1[l].s=s;s1[l].e=e;s=p;l++;}t=p;}sort(s1,s1+l,cmp);int ans=0;for(int i=0;i<l;i++){if(s1[i].e<s1[i+1].s)ans++;// cout<<s1[i].s<<" "<<s1[i].e<<endl;}if(k==2)cout<<ans+1<<endl;elsecout<<ans<<endl;}return 0;
}



 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510350.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sdut 最长公共子序列问题

Problem Description 从一个给定的串中删去&#xff08;不一定连续地删去&#xff09;0个或0个以上的字符&#xff0c;剩下地字符按原来顺序组成的串。例如&#xff1a;“ ”&#xff0c;“a”&#xff0c;“xb”&#xff0c;“aaa”&#xff0c;“bbb”&#xff0c;“xabb”&a…

hdu1176 免费馅饼 动态规划 二维数组实现

免费馅饼 Time Limit: 1000MS Memory Limit: 32768KBSubmit Statistic DiscussProblem Description 都说天上不会掉馅饼&#xff0c;但有一天gameboy正走在回家的小径上&#xff0c;忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了&#xff0c;这馅饼别处都不掉&am…

sdut 取数字问题(深搜,动态规划)

/*首先看见这题想到的就是DFS但是求的是最短路径因此可以利用BFS&#xff0c;但是BFS学的太渣了&#xff0c;还是用动态规划来试试&#xff01;dp[i][j]表示走到第i行j列时候的路径dp[i][j]min(dp[i-1][j],dp[i][j-1])a[i][j];但是这样写的缺陷是不能找出最小正整数的路径#incl…

如何通过链路追踪进行定时任务诊断

背景简介 什么是定时任务 定时任务是业务应用系统中存在定时周期性运行的业务逻辑。由于其运行于后端进程中往往存在执行状态和执行链路的不可见性《常见定时任务技术方案》。 什么是链路追踪 随着分布式微服务化架构在企业中大规模运用&#xff0c;业务运行的应用平台是一…

关于平台工程的开发者工具链,你还想加点啥?

前言 从 Kubernetes 诞生以来&#xff0c;以 DevOps、容器化、可观测、微服务、Serverless 等技术为代表的云原生&#xff0c;催生了应用架构新一轮的升级。有意思的是&#xff0c;与以往的技术迭代更新不同&#xff0c;原本是一个技术圈常规的一次技术实践&#xff0c;在千行…

sdut 走迷宫

走迷宫Time Limit: 1000MS Memory limit: 65536K题目描述一个由n * m 个格子组成的迷宫&#xff0c;起点是(1, 1)&#xff0c; 终点是(n, m)&#xff0c;每次可以向上下左右四个方向任意走一步&#xff0c;并且有些格子是不能走动&#xff0c;求从起点到终点经过每个格子至多一…

阿里云联合“产学研媒”发起 BizDevOps 共促计划,助力企业提升组织效能

2012年全球最具影响力的独立研究咨询机构Forrester曾预言&#xff1a;“In the future, all companies will be software companies”&#xff08;在未来&#xff0c;所有的企业都将成为软件企业&#xff09; 近10年来&#xff0c;DevOps运动在全球和中国风起云涌&#xff0c;…

Kubernetes HPA 的三个误区与避坑指南

前言 云计算带来的优势之一便是弹性能力&#xff0c;云原生场景下Kubernetes提供了水平弹性扩容能力&#xff08;HPA&#xff09;&#xff0c;让应用可以随着实时指标进行扩/缩。然而HPA的实际工作情况可能和我们直观预想的情况是不一样的&#xff0c;这里面存在一些认知误区。…

K8s有损发布问题探究

问题提出 流量有损是在应用发布时的常见问题&#xff0c;其现象通常会反馈到流量监控上&#xff0c;如下图所示&#xff0c;发布过程中服务RT突然升高&#xff0c;造成部分业务响应变慢&#xff0c;给用户的最直观体验就是卡顿&#xff1b;或是请求的500错误数突增&#xff0c…

解读 K8s Pod 的13种典型异常

在K8s中&#xff0c;Pod作为工作负载的运行载体&#xff0c;是最为核心的一个资源对象。Pod具有复杂的生命周期&#xff0c;在其生命周期的每一个阶段&#xff0c;可能发生多种不同的异常情况。K8s作为一个复杂系统&#xff0c;异常诊断往往要求强大的知识和经验储备。结合实战…

实践教程之如何快速使用 PolarDB-X

PolarDB-X 为了方便用户体验&#xff0c;提供了免费的实验环境&#xff0c;您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验&#xff0c;PolarDB-X 也提供免费的视频课程&#xff0c;手把手教你玩转 PolarDB-X 分布式数据库。 本期实验可以让您快…

实践教程之如何将 PolarDB-X 与大数据等系统互通

本期实验将指导您使用PolarDB-XCanalClickHouse搭建实时分析系统。 本期免费实验地址 本期教学视频地址 前置准备 假设已经根据前一讲内容完成了PolarDB-X的搭建部署&#xff0c;可以成功链接上PolarDB-X数据库。 实践教程之如何快速安装部署PolarDB-X 部署Canal Canal是…

caffe安装 cuda安装 opencv安装 cudnn安装 python相关依赖库安装

1安装cuda8.0 安装依赖库 #sudo apt-get install g #sudo apt-get install git #sudo apt-get install freeglut3-dev Ctraltf4 进入后台 输入用户名和密码 User&#xff1a; Password&#xff1a; #sudo vi /etc/modprobe.d/blacklist-nouveau.conf 输入 blacklistnouve…

加载速度提升 15%,关于 Python 启动加速探索与实践的解析

编者按&#xff1a;在刚刚结束的 PyCon China 2022 大会上&#xff0c;龙蜥社区开发者严懿宸分享了主题为《Python 启动加速的探索与实践》的技术演讲。本次演讲&#xff0c;作者将从 CPython 社区相关工作、本方案的设计及实现&#xff0c;以及业务层面的集成等方面进行介绍。…

统信软件高级工程师:关于云原生技术在容器方面的应用介绍

编者按&#xff1a;随着近几年来云原生生态的不断壮大&#xff0c;众多企业纷纷开展了用云上云的工作&#xff0c;学习云原生及容器技术对于现代工程师是必不可少的。本文整理自龙蜥大讲堂 54 期&#xff0c;统信高级研发工程师参与技术分享&#xff0c;为大家介绍了云原生的介…

sdut 区间覆盖问题

区间覆盖问题 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 用i来表示x坐标轴上坐标为[i-1&#xff0c;i]的长度为1的区间&#xff0c;并给出n&#xff08;1≤n≤200&#xff09;个不同的整数&#xff0c;表示n个这样的区间。 现在要…

opencv mat数据剪裁感兴趣的部分处理方法

Mat srcImage_r imread("c_d_right.jpg",1);Mat srcImage_l imread("c_d_left.jpg",1);Mat vv(srcImage_r,Rect(10,10,100,100));imshow("vv", vv);

解读最佳实践:倚天710 ARM芯片的 Python+AI 算力优化

编者按&#xff1a;在刚刚结束的 PyCon China 2022 大会上&#xff0c;龙蜥社区开发者朱宏林分享了主题为《ARM 芯片的 PythonAI 算力优化》的技术演讲。本次演讲&#xff0c;作者将向大家介绍他们在倚天 710 ARM 芯片上开展的 PythonAI 优化工作&#xff0c;以及在 ARM 云平台…

从敏捷协作到价值交付

前面我的同事在分享的时候&#xff0c;指出目前软件研发的最大问题不是效率&#xff0c;而是研发资源的浪费。可能产品经理半天写的需求&#xff0c;开发要埋头苦干三个月。如果错误的选择了一个对业务发展无益的需求&#xff0c;会带着大家往错误的方向越跑越远。 那么什么是…

opencv实现几幅图像拼接成一整幅大图

opencv实现几幅图像拼接成一整幅大图 标签&#xff1a; 博客opencv 2013-10-22 12:05 9846人阅读 评论(3) 收藏 举报 本文章已收录于&#xff1a; 分类&#xff1a; opencv&#xff08;14&#xff09; 作者同类文章X版权声明&#xff1a;本文为博主原创文章&#xff0c;未…