程式設計開發飛彈攔截問題解析

2022-09-23 15:15:10 字數 688 閱讀 7939

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

輸入飛彈依次飛來的高度(雷達給出的高度資料是不大於30000的正整數),計算這套系統最多能攔截多少飛彈,如果要攔截所有飛彈最少要配備多少套這種飛彈攔截系統。 輸入格式   一行,為飛彈依次飛來的高度 輸出格式   兩行,分別是最多能攔截的飛彈數與要攔截所有飛彈最少要配備的系統數 樣例輸入 389 207 155 300 299 170 158 65 樣例輸出 6

2#include

using namespace std;

int a[30005];

int dp[30005];

int len,cnt;

int main()

if(len < dp[i])

len = dp[i];

} memset(dp,0,sizeof(dp));

for(int i = 1;i <= n;i ++)

if(cnt < dp[i])

cnt = dp[i];

} cout << len << endl << cnt;

return 0;

}

飛彈攔截題解

對於問一求最長不上公升子串行,問二求最長上公升子串行 為什麼問二是這樣是我也不知道 巨坑的點,對於問一,f陣列中的資料是下降 從大到小排序 的,必須新增greater 二分的原則是排好序啊!終於ac include include include include include include us...

攔截飛彈 題解

description ggf最近經常遭到不明飛彈的襲擊,因此他只好開發了一套飛彈攔截系統。該系統非常先進,使用會拐彎的雷射對飛彈進行射擊。所有被雷射擊中的飛彈就瞬間完蛋,而且一束雷射可以同時摧毀多枚飛彈。但雷射只能向上發射,所以若同一束雷射能依次擊中多枚飛彈,則這些飛彈座標的每一維都嚴格單調上公升...

飛彈攔截問題變種

問題 求原序列最少能夠分成多少個單調下降子串行。對於這個問題其實並非是動態規劃的問題,而是乙個貪心的問題。貪心策略 令ans 0,a為空,逐個考慮序列中的元素x,在a中尋找大於x的最小元素,若找到,將其替換為x,迴圈 否則,將x新增到a中,ans 1,迴圈。下面簡單證明這樣做的正確性 至於一些顯然的...