DP LIS 飛彈防禦系統

2021-10-19 08:10:37 字數 980 閱讀 3372

為了對抗附近惡意國家的威脅,r國更新了他們的飛彈防禦系統。

一套防禦系統的飛彈攔截高度要麼一直 嚴格單調 上公升要麼一直 嚴格單調 下降。

例如,一套系統先後攔截了高度為3和高度為4的兩發飛彈,那麼接下來該系統就只能攔截高度大於4的飛彈。

給定即將襲來的一系列飛彈的高度,請你求出至少需要多少套防禦系統,就可以將它們全部擊落。

輸入格式

輸入包含多組測試用例。

對於每個測試用例,第一行包含整數n,表示來襲飛彈數量。

第二行包含n個不同的整數,表示每個飛彈的高度。

當輸入測試用例n=0時,表示輸入終止,且該用例無需處理。

輸出格式

對於每個測試用例,輸出乙個佔據一行的整數,表示所需的防禦系統數量。

資料範圍

1≤n≤50

輸入樣例:

53 5 2 4 1

0輸出樣例:

2樣例解釋

對於給出樣例,最少需要兩套防禦系統。

一套擊落高度為3,4的飛彈,另一套擊落高度為5,2,1的飛彈。

#include

#include

using namespace std;

const

int n=55;

int n;

int h[n]

;int up[n]

, down[n]

;int ans;

void

dfs(

int u,

int su,

int sd)

int k=0;

while

(k>=h[u]

) k++;if

(kelse

k=0;while

(k<=h[u]

) k++;if

(kelse

}int

main()

return0;

}

飛彈防禦系統

飛彈防禦系統 為了對抗附近惡意國家的威脅,r國更新了他們的飛彈防禦系統。一套防禦系統的飛彈攔截高度要麼一直嚴格單調上公升要麼一直嚴格單調下降。資料範圍 1 n 50 輸入樣例 5 3 5 2 4 1 0輸出樣例 2樣例解釋 對於給出樣例,最少需要兩套防禦系統。一套擊落高度為3,4的飛彈,另一套擊落高...

飛彈防禦系統 飛彈攔截系統

題目鏈結 引言 請忽略 今天是小白acm集訓的日子,然後資料結構實在是太難了,真是學不動了,然後就只能無助地去複習以前的題了,記得以前在sdut程設二裡面有一道題叫最少攔截系統,它是一道貪心,我個人覺得最長上公升子串行的思路跟它有些相似。我們先分析一下這道題,引入一下這道最少攔截系統的題幹和 最少攔...

1048 飛彈防禦系統

時間限制 1 sec 記憶體限制 128 mb 提交 305 解決 75 提交 狀態 討論版 某國為了防禦敵國的飛彈襲擊,開發出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲,並觀測到飛...