思路:首先第一問:最多能攔下多少飛彈的答案是給出數列的最長不遞增子串行的長度。(這個不難想到)而第二問:至少幾套飛彈系統的答案是給出數列的最長遞增子串行的長度。
c++**:
#include #include #include #include using namespace std;
const int maxn=1e5+5;
int a[maxn];
int b[maxn];
int n;
int mfind(int left,int right,int x)
return right;
}int mfind1(int left,int right,int x)
return left;
}int main()
else
} cout << cnt << endl;
b[0]=a[0];
int ans=1;
for(int i=1;ielse
} cout << ans << endl;
return 0;
}
洛谷P1020 飛彈攔截
某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲。由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈。輸入飛彈依次飛來的高度 雷達給出...
洛谷 P1020 飛彈攔截
題目大意 對於乙個飛彈攔截系統 它的第一發炮彈能夠攔截任意高度的飛彈,但之後攔截的每一發炮彈都不能高於前一發的高度。輸入n發飛彈依次飛來的高度a i 計算這套系統最多能攔截多少飛彈,如果要攔截所有飛彈最少要配備多少套這種飛彈攔截系統。1 n 100 0 a i 30000 題解 p i 表示攔截了第...
洛谷 P1020 飛彈攔截
某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲。由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈。輸入飛彈依次飛來的高度 雷達給出...