HDOJ 1257 最少攔截系統 貪心

2021-07-24 21:41:04 字數 661 閱讀 7746

點我挑戰題目

一開始理解錯了這道題。這麼多個飛彈排好序不只需要1個攔截系統嗎。後來發現自己真傻。那齣這個題還有啥意思,反正都需要乙個。(;′⌒`)

給出n個飛彈,這n個飛彈的順序是不能改變的。並且對於每個攔截系統來說,他所能打到的高度只能越來越小不能增大(或保持不變)。那麼對於每個飛彈來說,要先判斷當前所有的飛彈系統中有沒有能夠攔截的,如果沒有的話,直接新增乙個攔截系統;如果有的話,那麼看一下能打到的攔截系統中高度最小的那個,把它的攔截資料更新為當前飛彈的高度(這是這道題的貪心策略)。最後看看,總共有幾個攔截系統即可。

/*

title:hdoj.1257

author:pengwill

date:2016-11-25

*/#include

#include

#include

#define max 10001

using

namespace

std;

int main()

; while(scanf("%d",&n) != eof)elseelse}}

printf("%d\n",j);

}return

0;}

hdoj1257 最少攔截系統

第一篇部落格,想想還有些小激動。使用lis,最長遞增子串行,飛彈打的高度是遞減的,如果在序列中出現了遞增,那麼說明我們需要另外一套系統來打這個遞增的高度,也就是出現了多少次的遞增,我們就需要多少套系統。求出最長遞增子串行就是結果。include define max 30050 define cmp...

hdoj 1257 最少攔截系統 dp

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

hdoj 1257 最少攔截系統(動態規劃)

最少攔截系統 time limit 1000ms memory limit 32768kb 64bit io format i64d i64u submit status description 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統.但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能...