題目79 攔截飛彈

2021-08-08 18:04:20 字數 879 閱讀 1713

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

第一行輸入測試資料組數n(1≤n≤10)

接下來一行輸入這組測試資料共有多少個飛彈m(1≤m≤20)

接下來行輸入飛彈依次飛來的高度,所有高度值均是大於0的正整數。

輸出最多能攔截的飛彈數目

2 8

389 207 155 300 299 170 158 65

3 88 34 656 2

動態規劃,使用乙個一維陣列來記錄當前元素所能攔截的最多飛彈,演算法與單調遞增子串行一樣。

遞推公式: dp

[i]=}}

int max = 0;

for (int i = 0; i < 21; i++)

return max;

}int main()

cin >> m;

for (int i = 0; i < m; i++)

cout

<< dp(a, m) << endl;

}return

0;}

#include

#include

using

namespace

std;

const

int max=10010;

int f[max];

int data[max]=;

int main()

}cout

<1

<

由源**可知,兩層迴圈,故演算法時間複雜度為o(n^2)。

NYOJ 題目79 攔截飛彈

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 某國為了防禦敵國的飛彈襲擊,發展中一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於等於前一發的高度。某天,雷達捕捉到敵國飛彈來襲。由於該系統還在試用階段,所以只...

NYOJ 79 攔截飛彈

時間限制 3000 ms 記憶體限制 65535 kb難度 3 描述 某國為了防禦敵國的飛彈襲擊,發展中一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於等於前一發的高度。某天,雷達捕捉到敵國飛彈來襲。由於該系統還在試用階段,所以只用...

nyoj79攔截飛彈

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 某國為了防禦敵國的飛彈襲擊,發展中一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於等於前一發的高度。某天,雷達捕捉到敵國飛彈來襲。由於該系統還在試用階段,所以只...