飛彈防禦系統

2021-10-24 13:27:54 字數 906 閱讀 1578

飛彈防禦系統

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

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

資料範圍

1≤n≤50

輸入樣例:

5

3 5 2 4 1

0

輸出樣例:

2
樣例解釋

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

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

#include#include#includeusing namespace std;

const int n=55;

int h[n],up[n],down[n],ans,n;//up[i]存的是第k套攔截系統攔截的最後一發飛彈

void dfs(int u,int d,int t)//這題最妙的地方在於第乙個找到的就是最合適的

//加入乙個數要加入到上公升序列中,

//則一定要選擇最後一發飛彈值最大的那個序列加進去,

//因為你最大的都能加進去,小的一定也能進去,給其他的騰出點空間

//神奇的是,你在1~u中的up序列中找到的第乙個就是高度最高的飛彈,

//因為如果高度不夠就會另開乙個陣列,再開的陣列高度一定不如前面,

//因為就是因為高度不夠才重開的

//後面就是經典的選擇+回溯了

int temp=up[i];

up[i]=h[t];

dfs(max(u,i),d,t+1);

up[i]=temp;

for(i=1;i<=d;i++)

}

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

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

1048 飛彈防禦系統

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

DP LIS 飛彈防禦系統

為了對抗附近惡意國家的威脅,r國更新了他們的飛彈防禦系統。一套防禦系統的飛彈攔截高度要麼一直 嚴格單調 上公升要麼一直 嚴格單調 下降。例如,一套系統先後攔截了高度為3和高度為4的兩發飛彈,那麼接下來該系統就只能攔截高度大於4的飛彈。給定即將襲來的一系列飛彈的高度,請你求出至少需要多少套防禦系統,就...