最少攔截系統 基礎DP

2021-09-11 10:23:38 字數 794 閱讀 7031

kuangbin帶你飛【專題十二 基礎dp1 】

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

怎麼辦呢?多搞幾套系統唄!你說說倒蠻容易,成本呢?成本是個大問題啊.所以俺就到這裡來求救了,請幫助計算一下最少需要多少套攔截系統.

此題數學證明引用聚聚原話:

原文出自:洛谷的飛彈攔截這題

然後我們就要求乙個最長上公升子串行的長度即可;

樸素的演算法的時間複雜度是n^2的,我們可以用2分優化到nlogn。這裡用到了stl的lower_bound 返回第乙個 >= 指定元素的位址;

#include

using namespace std;

#define long long long

#define inf 0x3f3f3f3f

#define max_n 1000010

int dp[max_n]

, a[max_n]

;int

main()

int len =1;

dp[len]

= a[1]

;for

(int i =

2; i <= n; i++

)else

} cout << len << endl;

}return0;

}

最少攔截系統(基礎DP)

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

最少攔截系統(dp)

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

最少攔截系統(dp)

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