noip1999 提高組試題
某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲。由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈。
輸入飛彈依次飛來的高度(雷達給出的高度資料是不大於10000的正整數),計算這套系統最多能攔截多少飛彈? 如果要攔截所有飛彈最少要配備多少套這種飛彈攔截系統?
只有一行,為空格隔開的n(1<=n<=1000)個正整數序列。
第一行是乙個正整數,為最多能攔截的飛彈數量。
第二行是乙個正整數,為攔截所有飛彈需要配備攔截系統的套數。
輸入 [複製]
389 207 155 300 299 170 158 65輸出
6第乙個問很簡單就是將陣列反過來後求最長不下降序列的長度;2
第二個問用乙個定理:乙個數列中最少的不上公升序列的個數等於該數列的最長上公升(注意不是最長不下降序列)的長度!!
#include#include#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int n=2000
;int num[n],n=0,ans=0,maxx=0
,dp[n];
intmain()
if(left>maxx) maxx++;
dp[left]=num[i];
} reverse(num+1,num+n+1
); memset(dp,
0,sizeof
(dp));
for(int i=1;i<=n;i++)
if(left>ans) ans++;
dp[left]=num[i];
} cout
cout
return0;
}
攔截飛彈 vip
描述 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲。由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈。輸入飛彈依次飛來的高度 雷...
1044 攔截飛彈
1999年noip全國聯賽提高組 時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解 題目描述 description 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的...
攔截飛彈 題解
description ggf最近經常遭到不明飛彈的襲擊,因此他只好開發了一套飛彈攔截系統。該系統非常先進,使用會拐彎的雷射對飛彈進行射擊。所有被雷射擊中的飛彈就瞬間完蛋,而且一束雷射可以同時摧毀多枚飛彈。但雷射只能向上發射,所以若同一束雷射能依次擊中多枚飛彈,則這些飛彈座標的每一維都嚴格單調上公升...