ACM 最少攔截系統 貪心思想

2021-06-26 18:05:10 字數 949 閱讀 1343

最少攔截系統

time limit:1000ms  memory limit:32768k

某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度。某天,雷達捕捉到敵國的飛彈來襲,因為該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈。怎麼辦呢?多搞幾套系統唄!你說說倒蠻容易,成本呢?成本是個大問題啊。所以俺就到這裡來求救了,請幫助計算一下最少需要多少套攔截系統呢?

輸入若干組資料。每組資料報括:飛彈總個數(正整數),飛彈依次飛來的高度(雷達給出的高度資料是不大於30000的正整數,用空格分隔)。對應每組資料,輸出攔截所有飛彈最少要配備多少套這種飛彈攔截系統。

8 389  207  155  300  299  170  158  65
2

#include

#include

using namespace std;

/*解決思想:貪心 思想的運用(3.每一次總是選擇當前最適合的系統)

1.假設原來有x套系統,對於每一顆飛來的飛彈

2.若當前的x套系統 不能攔截這顆飛彈,再建立一套系統攔截

3.如果x套系統至少有一套可以攔截該飛彈,則尋找一套系統(該系統的當前高

度與飛彈系統最接近的,這樣可以保證所有系統的高度降低最少,從而可以攔截

更多飛彈,就可以達到建立更少系統的目的)去攔截 

*/ int systems[10000],t;

bool ishold(int h) 

}return false;

}//尋找最適合的高度

int find(int h) } }

return in;

}int main()else

}cout<

}return 0;

}

ACM 最少攔截系統

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

最少攔截系統(貪心)

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

最少攔截系統(貪心)

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