啥都不說了。。主要是思維吧。。
同樣先貼大佬部落格orz:
對於這個最長上公升子串行而言,每乙個數代表乙個攔截系統的最小值, 並且由於序列是上公升的,每乙個數都不能再攔截序列中的下乙個數,因為下乙個數更大, 因此這個子串行的長度就是攔截系統數。
再直接附上ac**吧:
#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
#define pi acos(-1.0)
#define ll long long
typedef pairpp;
const int inf=0x3f3f3f3f;
const ll mod=1e9+7ll;
int n;
int a[1005];
int dp[1005];
int main()
printf("%d\n",ans);
}return 0;
}
是的,就是道很裸的lis,主要是看能不能想得到了。。我就想不出來啊55555... hdu1257 最少攔截系統
解釋 當炮彈乙個接乙個的從空中飛來時,系統可以攔住比它攔住前乙個高度低的炮,比前乙個高的不攔,給第二個系統攔 problem description 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統.但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過...
hdu 1257 最少攔截系統
題目大意 給定一串飛彈的高度,問最少需要多少飛彈攔截系統。思路 lis 分析 首先,至少需要一套攔截系統,一開始可以打到第一顆飛彈的位置。之後每來一顆飛彈更新一下系統能打到的高度。一旦有一顆飛彈所有系統都打不到了,增加乙個系統。那麼就會得到乙個序列,每個系統目前能打到的最高位置。這個序列是遞增的,後...
HDU1257 最少攔截系統
problem description 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統.但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度.某天,雷達捕捉到敵國的飛彈來襲.由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有...