1322:【例6.4】拦截导弹问题(Noip1999)

信息学奥赛一本通题目解析:1322:【例6.4】拦截导弹问题(Noip1999) 【题目描述】某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。【输入】n颗依次飞来的高度(1≤n≤1000)。【输出】要拦截所有导弹最小配备的系统数k。【输入样例】 阅读详情

【题目描述】

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

输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。

【输入】

n颗依次飞来的高度(1≤n≤1000)。

【输出】

要拦截所有导弹最小配备的系统数k。

【输入样例】

389 207 155 300 299 170 158 65

【输出样例】

2

【提示】

输入:导弹高度: 4  3  2

输出:导弹拦截系统k=1

#include<bits/stdc++.h>
using namespace std;
int s[1005];
int l[1005];
int main()
{
    int n;
    n=1;
    memset(s,0,sizeof(s));
    memset(l,0,sizeof(l));
    while(cin>>s[n])
    {
        n++;
    }
    int k=1;
    l[k]=s[1];
    int p=0;
    for(int i=2;i<n;i++)
    {
        p=0;//每次都要设置为0,
        for(int j=1;j<=k;j++)//一共有k套系统
        {
            if(l[j]>=s[i])//从k套系统选择
            {
                if(p==0)
                    p=j;
                else if(l[j]<l[p]) p=j;//贪心,选择最小系统中最小的值,然后后面会把这个比最小系统还小的值赋值给这个最小系统的最小值
            }
        }
        if(p==0)
        {
            k++;
            l[k]=s[i];
        }
        else
        {
            l[p]=s[i];
        }
    }
    cout<<k<<endl;
    return 0;
}

分析:

1.首先这题是贪心,是贪心从k套系统选择最小的系统来判断选择哪个系统比如说这个的案例最小都是 155 和 65 当出现一个下降    数列最小是66 的时候我们应该选择65这个系统

2.解题过程:

 a.把第一个l[1]设置为第一个系统,如果第二个导弹比第一个小哪l[1]=s[2]

 c.当有k个系统的时候就是每次来一个导弹就要比较最小的系统这个数与这个导弹的值,如果最小系统不小于这个导弹那么就是把   这个导弹的值赋值给最小系统,这里的p用法可以了解一下

1322:【例6.4】拦截导弹问题(Noip1999) 2020-12-01 1322:【例6.4】拦截导弹问题(Noip1999) 时间限制: 1000 ms 内存限制: 65536 KB【题目描述】 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截... 阅读详情

相关推荐

Codesys电子凸轮实战:从机械替代到虚轴设计的5个关键步骤

本文详细介绍了Codesys电子凸轮技术在运动控制领域的实战应用,从机械替代到虚轴设计的5个关键步骤。通过电子凸轮技术,操作员可以快速调整切割模式,显著提升产线效率。文章还探讨了虚轴架构、CAM表设计、动态耦合技巧及调试避坑指南,为工业自动化领域提供了实用的解决方案。

tech5的博客 767

信息学奥赛一本通 1322:【例6.4】拦截导弹问题(Noip1999)

【题目链接】 ybt 1322:【例6.4】拦截导弹问题(Noip1999) 【题目考点】 1. 贪心 【解题思路】 设hhh表示当前系统可以拦截的最高的高度。 贪心选择:高度小于等于hhh的导弹中高度最高的导弹。 如果当前系统无法再拦截导弹,而且存在未被拦截的导弹,那么增加一个拦截系统,将hhh设为无穷大,继续进行贪心选择。 各导弹高度构成一个数字序列,每个拦截系统拦截的导弹的高度为原序列的不升子序列。该题可以抽象为:求一个数字序列的不升子序列的最少个数。 以下讨论中使用抽象后的概念。 1. 贪心选择性质

君义NOIP的博客 7254

Grok-1.5+Ollama企业级本地化部署与合规实践指南

本文详细介绍了Grok-1.5+Ollama企业级本地化部署与合规实践指南,重点分析了本地化部署的成本优势和数据主权保障。通过RTX 4090显卡的硬件选型、Ubuntu 22.04系统优化及部署流程中的关键陷阱规避,为企业提供了高效、安全的AI模型部署方案。特别适合金融、医疗等敏感行业。

weixin_29094539的博客 182

【信息学奥赛一本通】1322:【例6.4】拦截导弹问题(Noip1999)(贪心)

解题思路:第一颗导弹不管怎样肯定是占用第一个系统,以后再来的第二个导弹如果小于第一个导弹的高度那么就不需要增加系统,假设大于第一颗导弹的高度,那么现在就需要增加一个导弹系统,这时再来第三颗导弹高度都小于前两个导弹系统所能拦截的最大高度,根据贪心原则,我们要比较前两个系统所能拦截的高度,选择高度较小的那个系统,这样才能做到不浪费,这时候更新前面选择的导弹系统的最小值,以此类推枚举所有导弹就可以了 下面附上ac代码 #include<bits/stdc++.h> using namespa..

_C9的博客 1833

AI 生成 ECU 功能测试用例

本文分享了AI辅助汽车电子测试的实战经验。作者以某车企车身控制器(BCM)项目为例,对比了传统测试用例编写方式(需100小时)与AI辅助方式(仅3个工作日)的效率差异,实现76%的效率提升。文章详细展示了从需求文档生成测试用例的全过程,包括需求文档示例、AI提示词模板和AI生成的完整测试用例表格(涵盖正常功能、边界条件、异常场景等测试类型)。通过具体案例说明如何利用AI快速生成初稿后人工审核优化的方法,为ECU测试工程师提供了可复用的效率提升方案。

小明的博客 883

二次开发vba_CATIA VBA(VBS)二次开发:使用Search批量选择元素

在CATIA二次开发中很多在程序中进行自动交互的方法或函数都需要使用选择集作为参数,将几何元素按照要求批量添加到选择集中也是实现程序自动运行的有效方法。在前面的文章《CATIA使用VBA(VBS)二次开发时用户的交互选择》和《CATIA使用VBA(VBS)二次开发时工程图和草图位置的交互选择函数Indicate2D》中介绍了在CATIA VBA(VBS)二次开发中用户和选择集之间的交互操...

weixin_32497403的博客 1321

拦截导弹问题(贪心)

描述 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。 格式 输...

wodemaoheise的博客 1705

ESP32-CAM与Thonny的完美搭配:从烧录到通信的完整流程

本文详细介绍了如何将ESP32-CAM与Thonny IDE完美结合,从固件烧录到通信测试的完整流程。通过硬件连接、MicroPython固件烧录、Thonny环境配置以及摄像头功能开发等步骤,帮助开发者快速搭建高效的物联网开发环境,实现图像采集与无线通信功能。

tomato的博客 1125

信息学奥赛一本通(1322:【例6.4】拦截导弹问题(Noip1999))

1322:【例6.4】拦截导弹问题(Noip1999) 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 14462 通过数: 5606 【题目描述】 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度不大于300...

1507

Codev与Zemax相互转化

Codev与Zemax相互转化

weixin_72050316的博客 1046

[系统安全] 一.什么是逆向分析、逆向分析基础及经典扫雷游戏逆向

娜璋AI安全之家于2020年8月18日开通,将专注于Python和安全技术,主要分享Web渗透、系统安全、CVE复现、威胁情报分析、人工智能、大数据分析、恶意代码检测等文章。真心想把自己近十年的所学所做所感分享出来,与大家一起进步。 系统安全系列作者将深入研究恶意样本分析、逆向分析、攻防实战等,通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步。第一篇文章先带领大家学习什么是逆向分析,然后详细讲解逆向分析的典型应用,接着通过OllyDbg工具逆向分析经典的游戏扫雷,再通过Cheat Engin

杨秀璋的专栏 2万+

1322:【例6.4】拦截导弹问题(Noip1999)

【题目描述】 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。 【输入】 n颗依次飞来的高度(1≤n≤1000)。 【输出】 要拦截所有导弹最小配备的系统数k。.

m0_61163932的博客 1134

ZW3D 二次开发-制作插件

1.Windows 7 SP1 或 Windows 10 或 Windows 11(推荐 Windows 11)2.Visual studio 2017-2022 (或 C/C++的任何其他集成开发环境)(推荐 Visual studio 2022)3.ZW3D 2023 或以上版本(建议使用与 ZW3D 一致的 API 的版本)4.Qt5.9.7(for Windows)博主学习使用环境的是:Windows 11 Version 24H2 + Visual studio 2022 + Qt5.9.7(fo

fhqiwmc的博客 812

【信息学奥赛一本通】1322:【例6.4】拦截导弹问题(Noip1999)(C++)

【信息学奥赛一本通】1322:【例6.4】拦截导弹问题(Noip1999)(C++)

yiyayiyayousun的博客 213

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

信息学奥赛一本通:1322:【例6.4】拦截导弹问题(Noip1999)

信息学奥赛一本通:1322:【例6.4】拦截导弹问题(Noip1999)

ffsdfg的博客 823

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【信奥赛一本通】1322:【例6.4】拦截导弹问题(Noip1999)(详细代码)

【信奥赛一本通】某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。1.【题目描述】2.【代码】 输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需

qq_40802813的博客 605

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

1322:【例6.4】拦截导弹问题(Noip1999)——贪心

【题目描述】某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。【输入】n颗依次飞来的高度(1≤n≤1000)。【输出】要拦截所有导弹最小配备的系统数k。【输入样例】

与其邻渊羡渔,不如退而结网 733

(一本通)1322:【例6.4】拦截导弹问题(Noip1999)

i<r;i++){mi=k[i]-t;s=i;cout<<r;return 0;

Fgggjjjj的博客 412

【题解-信息学奥赛一本通】1322:【例6.4】拦截导弹问题(Noip1999)

某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。从前向后处理数,如果当前的数比它前面所有的数都大,那么需要新的系统;否则,它可以放在前面任何一个系统中,但是为了系统总数最小,当前的数放在最小的大于它的数字那组,能够将高度差的浪费降到最低。输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。要拦截所有导弹最小配备的系统数k。

写代码的犄角旮瘩 707
上一篇: 1321:【例6.3】删数问题(Noip1994)
下一篇: 分治算法
PX-C
博客等级 码龄9年 162粉丝 405原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值