1322 攔截飛彈問題 Noip1999

2021-10-02 18:35:02 字數 853 閱讀 2676

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

輸入飛彈依次飛來的高度(雷達給出的高度不大於30000的正整數)。計算要攔截所有飛彈最小需要配備多少套這種飛彈攔截系統。

n顆依次飛來的高度(1≤n≤1000)。

要攔截所有飛彈最小配備的系統數k。

389 207 155 300 299 170 158 65

2

輸入:飛彈高度: 4  3  2

輸出:飛彈攔截系統k=1

// created on 2020/2/12

/*#include #include #include #include #include */

#include using namespace std;

const int idata=1000+5;

int goal[idata];

int step[idata];

int n,m;

int flag;

int cnt;

int ans=1;

int maxx=0;

int main()

}if(flag)}}

if(flag)

step[flag]=goal[i];

if(!flag)

step[++ans]=goal[i];

}cout

*/}

NOIP 攔截飛彈

題意很簡潔,一共兩問。第一問是求單個攔截系統最多能攔截多少個,根據題意即最長非上公升子串行。第二問有多少飛彈攔截系統才能攔截全部飛彈,即有多少最長非上公升子串行才能包括全部數。稍加思考即可得出最長上公升子串行的長度即為答案。本題的轉化思考和兩個求序列長度寫法要記一下 就我目前看到的題解貌似沒人這麼寫...

攔截飛彈問題(NOIP1999)

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

攔截飛彈問題

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