題解:這道題不能上來就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 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統.但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮...