求陣列最長遞減序列(列印序列)

2021-08-09 08:53:38 字數 654 閱讀 8777

給定乙個整數序列,輸出它的最長遞減(注意不是「不遞增」)子串行。

輸入包括兩行,第一行包括乙個正整數n(n<=1000),表示輸入的整數序列的長度。第二行包括用空格分隔開的n個整數,整數範圍區間為[-30000,30000]。

輸出為一行,最長遞減子串行的結果,數字間用空格分隔(測試case中只會有乙個最長遞減子串行)。

樣例輸入

8

9 4 3 2 5 4 3 2

樣例輸出

9 5 4 3 2

#include

#include

using namespace std;

int main()

for(int i=1;ifor(int j=0;j}}

int m=0,k;

for(int i=0;iif(d[i]>m)

stacks; 

for(int i=k;i!=-1;i=p[i])//i=-1表示前面沒有比它還大的數 

s.push(a[i]);

for(int i=0;im=s.top();

cout}cout<

CUMTOJ 求陣列的最長遞減子串行

給定乙個整數序列,輸出它的最長遞減 注意不是 不遞增 子串行。輸入包括兩行,第一行包括乙個正整數n n 1000 表示輸入的整數序列的長度。第二行包括用空格分隔開的n個整數,整數範圍區間為 30000,30000 輸出最長遞減子串行,數字之間有乙個空格。8 9 4 3 2 5 4 3 29 5 4 ...

最長遞減子串行

最長遞增子串行算過很多了?那我們這次來求個遞減的試試 第一行為乙個整數t,代表有t組測試資料。每組測試資料為乙個只含有字母和數字的字串 字串長度不超過1000 對於每組測試資料,輸出其最長遞減子串行的長度 要求以ascii碼進行比較且嚴格遞減 程式源 include using namespace ...

最長遞減子串行

最長遞減子串行 如果array i aarray j 第i個數的最長遞減子串行的長度 等於 i 1到最後乙個數的最長遞減子串行的長度 加 1 否則 最長遞減子串行的長度就是1 最後乙個數的最長遞減子串行的長度等於1,最開始的時候dp i 的值都為1 然後倒著求最長遞減子串行 如 3,8,7,5,4,...