zoukankan      html  css  js  c++  java
  • hdu 1257 dp(最长下降子序列)

    View Code
    //hdu 1257  dp(最长下降子序列的长度)
    
    //题意是要求最少要几套拦截系统,没套系统拦截的后一个导弹
    //要比前一个低,导弹按顺序来,讨论每个导弹时要依次看
    //比 所拥有的哪个系统 的最低高度低最少的,则让这个系统拦截
    //若所拥有的系统中 的最低高度都比该导弹低,则要再建一套系统
    
    #include <stdio.h>
    #include <string.h>
    
    #define N 10005
    
    int s[N], dp[N];
    
    int main()
    {
        int n;
        while(scanf("%d", &n) != EOF)
        {
            for(int i = 0; i < n; ++i)
            {
                scanf("%d", &s[i]);
                dp[i] = 1;
            }
            int max = 0;
            for(int i = 0; i < n; ++i)  //拦截第i 个导弹
            {
                for(int j = i - 1; j >= 0; --j)
                {   //若第j 个导弹比第 i 个导弹低,且且拦截第 j
                    //个导弹所需的系统数 再建一个拦截i,比拦截i所需的
                    //系统数多,则需要建这个,因为 拦截第j 个需要的系统数
                    //比 i 多,导弹i 又在j 后才来,这是不可能的
                    if(s[i] > s[j] && dp[i] < dp[j] + 1)
                    {
                        dp[i] = dp[j] + 1;
                        if(max < dp[i])
                            max = dp[i];
                    }
                }
            }
            printf("%d\n", max);
        }
        return 0;
    }
  • 相关阅读:
    面试汇总-待整理
    javaWeb2之Jsp
    Spring常用注解
    消费者、生产者模型
    网络知识之http请求
    设置Centos时间
    安装hive
    在Ubuntu上安装mysql(5.17.19)
    rabbitmq学习——主题路由
    rabbitmq学习——routingkey
  • 原文地址:https://www.cnblogs.com/gabo/p/2451956.html
Copyright © 2011-2022 走看看