zoukankan      html  css  js  c++  java
  • hdu 1257 最少拦截系统

    题解:

        首先要读懂题意:一个导弹拦截系统不一定要连续发射;

      按先后顺序处理发射来的导弹,

                    1.用a[i]来保存第i个拦截系统当前的发射高度(目前需m个拦截系统);

                    2.对于发射来的导弹,其高度若比1~m中的任一a[i]小,则更新a[i],即

                         第i个拦截系统当前的发射高度,若其高度比所有的a[i]都大,则需一个新的

                    拦截系统a[m+1],保存发射来的导弹高度。

    DP也能做:不过,我不在行@@

    #include<stdio.h>
    #include<string.h>
    #define N 50500
    int a[N];
    int main()
    {
        int n,x;
        int i,j,k;
        while(scanf("%d",&n)!=EOF&&n)
        {
            memset(a,0,sizeof(a));
            int m=0;
            for(i=0;i<n;i++)
            {
                scanf("%d",&x);
                for(j=0;j<=m;j++)
                if(x<=a[j])
                {
                    a[j]=x;
                    break;
                }
                if(j==m+1)
                {
                    m++;
                    a[m]=x;
                }
            }
            printf("%d\n",m);
        }
    }
  • 相关阅读:
    Domain Logic approaches
    Load data local infile 实验报告
    eclipse导入Maven项目
    MYSQL数据库导入数据时出现乱码的解决办法
    mysql创建用户并分配权限
    CDI Features
    Java Design Patterr
    关联tomcat源代码
    Spring AOP Capabilities and Goals
    CDI FEATURES
  • 原文地址:https://www.cnblogs.com/XDJjy/p/3112658.html
Copyright © 2011-2022 走看看