最少攔截系統(貪心演算法)

2021-08-21 17:42:35 字數 605 閱讀 3927

題解:這道題不能上來就sort排序直接做,要根據它給的數一步一步來做,而且這道題也是用的貪心演算法,總是要找到最優解,比如說有兩個裝置200 300 而這個炮彈是100,顯然這兩個裝置都能抵擋,但是最優的是用200的,否則就會產生浪費,使結果不準確。

做法:我做的是每次找到乙個就把原來的裝置更新下,並且把所有的裝置都存到乙個陣列中,每次都給這個陣列排序,使這個陣列總是從小到大排序,這樣可以避免浪費,不嘮了,直接上**了。

**實現:

#include #include#include #include#includeusing namespace std;

const int n=100000;

int b[n];

int main()

if(j>num)

b[num++]=a; /*這個用前加加或者後加加其實都一樣,無非用前加加第一項是0,

這個不所謂也,這裡提到的是用sort排序的時候,是從第一項開始

排序的*/

printf("%lld\n",num);}

return 0;

}

如果**有寫不對,大家可以指正出來,謝謝大家。

最少攔截系統 貪心演算法

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

最少攔截系統(貪心)

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

最少攔截系統(貪心)

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