HDU 1257 最少攔截系統

2022-08-20 11:39:12 字數 512 閱讀 4382

題意:輸入n然後輸入n個不大於30000的數,代表n個飛彈飛來的高度,要依次攔截所有的飛彈,系統每攔截乙個飛彈那麼下一次能夠攔截的飛彈的高度就不能高於這次的,問最少要多少個攔截系統才能成功攔截所有的飛彈

題解:

1/*2

對於某乙個時間點飛來的飛彈如果能夠使用已有的系統來攔截,那麼就一定會比新增加乙個系統來攔截它更好

3因此考慮貪心,能用已有的就用已有的並且用可以攔截的最低高度的系統,不能攔截就新增加乙個系統。4*/

5 #include 6

7using

namespace

std;89

int sys[10004

];10

intmain()

1123

if (k == 0) sys[++m] =x;

24else sys[k] =x;25}

26 cout << m <

28return0;

29 }

view code

hdu1257 最少攔截系統

解釋 當炮彈乙個接乙個的從空中飛來時,系統可以攔住比它攔住前乙個高度低的炮,比前乙個高的不攔,給第二個系統攔 problem description 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統.但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過...

hdu 1257 最少攔截系統

題目大意 給定一串飛彈的高度,問最少需要多少飛彈攔截系統。思路 lis 分析 首先,至少需要一套攔截系統,一開始可以打到第一顆飛彈的位置。之後每來一顆飛彈更新一下系統能打到的高度。一旦有一顆飛彈所有系統都打不到了,增加乙個系統。那麼就會得到乙個序列,每個系統目前能打到的最高位置。這個序列是遞增的,後...

HDU1257 最少攔截系統

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