【第22期】观点:IT 行业加班,到底有没有价值?

最少拦截系统(Greedy)

原创 2016年05月31日 11:37:59

最少拦截系统

Problem Description

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

Input

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

Output

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

Sample Input

8 389 207 155 300 299 170 158 65

Sample Output

2

这个题的代码挺巧妙地:

#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=30000+5;
int main()
{
    int n;
    int a[maxn],b[maxn];
    while(cin>>n)
    {
        for(int i=0;i<n;i++)
            {cin>>a[i];b[i]=maxn;}
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<=i;j++)//直接把前面的各个系统的最小值过一遍,最后直接更新
            {
                if(b[j]>a[i])//更新操作,
                {
                    b[j]=a[i];
                    break;
                }

            }

        }
        int k=0;
        for(int i=0;i<n;i++)
            if(b[i]!=maxn)k++;
        cout<<k<<endl;
    }
    return 0;
}
版权声明:学习是提高自身价值的一张很好且很有用的方式 举报

相关文章推荐

Greedy 数量词,以X+为例来实例分析,同时展示我的疑惑

Greedy翻译为:贪婪,贪心,侧面描述了正则表达式的特点; X? X,一次或一次也没有 X* X,零次或多次 X+ X,一次或多次 X{n...

算法之贪心算法(greedy algorithm)

一、概念        1.,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。         2.贪心算法不是对所有问题都能得到整体最优解...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

1099 任务执行顺序 magical greedy

1099 任务执行顺序 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 有N个任务需要执行,第i...

贪心算法(greedy algorithm)

贪心算法是最直观的算法设计范式之一。

01-算法的乐趣-贪心算法(Greedy Algorithm)分析

根据《算法的乐趣》阅读总结:贪心算法每一步选择完后,局部最优解就确定了,不再进行回溯处理,也就是说,每一个步骤的局部最优解确定以后,就不再修改了,知道算法结束。因为不在进行回溯处理贪心算法只在很少的情...

HDU 1058 Humble Numbers(dp+greedy)

题意:用2,3,5,7 这几个数组成一个数值系统,
  • yibcs
  • yibcs
  • 2014-08-12 22:35
  • 301

最少拦截系统(hdu-1257)(最长上升子序列)

某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于...

Hdu 1257 最少拦截系统 程序参考

#include&lt;vector&gt; #include&lt;iostream&gt; #include&lt;algorithm&gt; using namespace std; bool run() {...
  • wsql
  • wsql
  • 2008-06-15 17:53
  • 318
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)