記憶體限制:64mb
時間限制:3000ms
特判: no
通過數:9
提交數:11
難度:3
某國為了防禦敵國的飛彈襲擊,發展中一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於等於前一發的高度。某天,雷達捕捉到敵國飛彈來襲。由於該系統還在試用階段,所以只用一套系統,因此有可能不能攔截所有的飛彈。
第一行輸入測試資料組數n(1<=n<=10)接下來一行輸入這組測試資料共有多少個飛彈m(1<=m<=20)
接下來行輸入飛彈依次飛來的高度,所有高度值均是大於0的正整數。
輸出最多能攔截的飛彈數目
複製
28389 207 155 300 299 170 158 65
388 34 65
62分析:
1、與最長串類似的問題;
2、通過動態規劃找出找出前面的最長組合;
3、依次往後考慮,得到的就是最優解(全域性最長);
4、狀態方程:dp[i] = max(dp[i], dp[j] + 1);
方法一:
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include1011
using
namespace
std;
12const
int maxn = 25;13
14int
main()
1535}36
}37 printf("
%d\n
", cnt + 1
);38}39
return0;
40 }
方法二:
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include1011
using
namespace
std;
12const
int maxn = 25;13
14int
main()
1531 printf("
%d\n
", cnt);32}
33return0;
34 }
NYOJ 79 攔截飛彈 動態規劃
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 某國為了防禦敵國的飛彈襲擊,發展中一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於等於前一發的高度。某天,雷達捕捉到敵國飛彈來襲。由於該系統還在試用階段,所以只...
NYOJ 79 攔截飛彈
時間限制 3000 ms 記憶體限制 65535 kb難度 3 描述 某國為了防禦敵國的飛彈襲擊,發展中一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於等於前一發的高度。某天,雷達捕捉到敵國飛彈來襲。由於該系統還在試用階段,所以只用...
nyoj79攔截飛彈
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 某國為了防禦敵國的飛彈襲擊,發展中一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於等於前一發的高度。某天,雷達捕捉到敵國飛彈來襲。由於該系統還在試用階段,所以只...