1. 程式人生 > >hdu 1257 最少攔截系統【貪心 || DP——LIS】

hdu 1257 最少攔截系統【貪心 || DP——LIS】

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;

const int maxn = 1000+10;
const int INF = 30000+10; //導彈高度不會超過 30000
int a[maxn]; //存導彈的高度
int h[maxn]; // h[i] 表示第 i  個導彈系統攔截的最低高度

int main()
{
    int n;
    while(scanf("%d", &n) != EOF)
    {
        for(int i = 0; i < n; i++)
        {
            scanf("%d", &a[i]);
            h[i] = INF; //初始化保證每一個攔截系統都能攔截所有的導彈
        }

        for(int i = 0; i < n; i++)
        {
            for(int j = 0; j <= i; j++) //往前找開發了的導彈系統,看是否能攔截當前導彈, 最壞的結果是每個導彈都需要一個新的導彈系統來攔截,所以遍歷到  i
            {
                if(h[j] >= a[i]) //一旦找到符合條件的攔截系統
                {
                    h[j] = a[i]; // 第 j 個攔截系統攔截了第 i 個導彈 , 更新它的目前可以攔截的導彈的高度
                    break; //第 i 個導彈已經攔截,跳出裡面那層迴圈
                }
            }

        }

        int tot = 0;
        for(int i = 0; i < n; i++) //計算總共用了幾個導彈系統
            if(h[i] != INF) //如果第  i 個導彈系統的高度不等於初始值說明它用過
                tot++;
        printf("%d\n", tot);
    }
    return 0;
}

相關推薦

hdu 1257 最少攔截系統貪心 || DP——LIS

#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; const int maxn = 1000+10; const int INF = 30000+10; //導彈高度

HDU 1257 最少攔截系統貪心 or LIS

分析 class mode arch urn namespace 最少攔截系統 雷達 mission 題目鏈接: http://acm.hdu.edu.cn/showproblem.php?pid=1257 最少攔截系統 Time Limit: 2000/1000 MS (

HDU 1257 最少攔截系統 坑題,貪心LIS

最少攔截系統 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S

HDU-1257-最少攔截系統貪心

原題: 某國為了防禦敵國的導彈襲擊,發展出一種導彈攔截系統.但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度.某天,雷達捕捉到敵國的導彈來襲.由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的導彈. 怎麼辦呢?

HDU 1257 最少攔截系統 (Dilworth定理+LIS

某國為了防禦敵國的導彈襲擊,發展出一種導彈攔截系統.但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度.某天,雷達捕捉到敵國的導彈來襲.由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的導彈.  怎麼辦呢?多搞幾套

HDU 1257 最少攔截系統 簡單DP

容易 target ++ font put 題目 ssi pre 路徑 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1257 題目大意:求有多少個單調非遞增序列。 解題思路:經典題的變形----LIS。可以按照題意,多次dp

HDU-1257-最少攔截系統DP

某國為了防禦敵國的導彈襲擊,發展出一種導彈攔截系統.但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度.某天,雷達捕捉到敵國的導彈來襲.由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的導彈. 怎麼辦呢?多搞幾套系統唄!你說說倒

題解報告:hdu 1257 最少攔截系統

clas size 當前 for main 比較 http color 替代 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1257 解題思路:題目的關鍵句是“第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的

HDU - 1257 最少攔截系統

捕捉 所有 color 容易 display img 整數 ++ splay 某國為了防禦敵國的導彈襲擊,發展出一種導彈攔截系統.但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度.某天,雷達捕捉到敵國的導彈來襲.

HDU 1257 最少攔截系統

分類 HDU 貪心 題意 貪心專題 某國為了防禦敵國的導彈襲擊,發展出一種導彈攔截系統.但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度.某天,雷達捕捉到敵國的導彈來襲.由於該系統還在試用階段,

每日三題-Day3-C(HDU 1257 最少攔截系統 最長上升子序列O(nlogn) )

原題地址 最少攔截系統 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 40250 Accepted Submi

HDU 1257 最少攔截系統 LIS

         某國為了防禦敵國的導彈襲擊,發展出一種導彈攔截系統.但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度.某天,雷達捕捉到敵國的導彈來襲.由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截

HUD 1257 最少攔截系統 / HDU 2084 數塔 (DP)

這個星期進入DP專題。 先是基本概念。。(摘抄課件,我自重= =) 動態規劃(Dynamic Programming, DP)是解決某一類問題的一種方法,是分析問題的一種途徑,而不是一種特殊演算法(如線性規劃是一種演算法)。因此,在學習動態規劃時,除了對基本概念和方法正確地理解外,應以豐富的想象力去建

hdoj 1257最少攔截系統

ont pop popu main 不能 post tdi div -s  /*最少攔截系統 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768

1257 最少攔截系統

某國為了防禦敵國的導彈襲擊,發展出一種導彈攔截系統.但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度.某天,雷達捕捉到敵國的導彈來襲.由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的

杭電1257--最少攔截系統

題目描述: 解析: 這道題的題意容易讓人產生誤解,正確的解析–舉個例子: 輸入: 6 7 3 5 1 2 1 那麼就需要兩套反導系統,分別是:7 3 2 1 和 5 1 這道題的本質其實可以理解為最長上升子序列問題,引用一段話說明轉化的思想: 這道題讓求

最少攔截系統 (序列型dp)

某國為了防禦敵國的導彈襲擊,發展出一種導彈攔截系統.但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度.某天,雷達捕捉到敵國的導彈來襲.由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的導彈.  怎麼辦呢?多搞幾套

RQNOJ PID217 / [NOIP1999]攔截導彈n^2 / LIS

正整數 由於 include n-1 name 整數 攔截 sin code 題目描述 某國為了防禦敵國的導彈襲擊,發展出一種導彈攔截系統。但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的

最少攔截系統 HDU - 1257

using ras eof 炮彈 階段 攔截 逆序數 cst 有一個 某國為了防禦敵國的導彈襲擊,發展出一種導彈攔截系統.但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度.某天,雷達捕捉到敵國的導彈來襲.由於該系

最少攔截系統-貪心或最長上升子序列

這樣的 cor wrap action pad mem format 貪心算法 string 最少攔截系統 Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I