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