最長上公升子串行

2021-08-29 23:43:03 字數 696 閱讀 4678

problem description:

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

input:

輸入若干組資料(不超過100組),每組資料一行,分別為:飛彈總個數(正整數,不超過1000),飛彈依此飛來的高度(雷達給出的高度資料是不大於30000的正整數,用空格分隔)。

output:

對應每組資料輸出攔截所有飛彈最少要配備多少套這種飛彈攔截系統。

sample input:

8 389 207 155 300 299 170 158 65

sample output:

2解題分析:

可看作求最長不降子串行。

ac**:

#include #include using namespace std;

int lis(int a,int n)

if(d[i]>len) len=d[i];

}delete d;

return len;

}int main()

return 0;

}

最長上公升子串行

問題描述 乙個數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a1,a2,an 我們可以得到一些上公升的子串行 ai1,ai2,aik 這裡1 i1 i2 ik n。比如,對於序列 1,7,3,5,9,4,8 有它的一些上公升子串行,如 1,7 3,4,8 等等...

最長上公升子串行

最長上公升子串行問題是各類資訊學競賽中的常見題型,也常常用來做介紹動態規劃演算法的引例,筆者接下來將會對poj上出現過的這類題目做乙個總結,並介紹解決lis問題的兩個常用 演算法 n 2 和 nlogn 問題描述 給出乙個序列a1,a2,a3,a4,a5,a6,a7.an,求它的乙個子串行 設為s1...

最長上公升子串行

最長上公升子串行問題 給出乙個由n個數組成的序列x 1.n 找出它的最長單調上公升子串行。即求最大的m和a1,a2 am,使得a1動態規劃求解思路分析 o n 2 經典的o n 2 的動態規劃演算法,設a i 表示序列中的第i個數,f i 表示從1到i這一段中以i結尾的最長上公升子串行的長度,初始時...