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

2021-09-27 12:09:54 字數 808 閱讀 8199

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

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

輸出最長遞減子串行,數字之間有乙個空格。

8

9 4 3 2 5 4 3 2

9 5 4 3 2
這道題是一道 最長遞增子串行問題 只不過要把最長的遞增子串行列印出來。

f[i] 表示的是以元素a[i]結尾的最長遞增子串行的長度。

dp[0] = 1

dp[i] = max(dp[j]) + 1 (0 <= j < i)

#include#include#includeusing namespace std;

int a[1010];

int f[1010];

int pre[1010];

int main()

memset(pre,-1,sizeof pre);

f[0] = 1;

for (int i = 1; i < n; ++i)

f[i] += 1;

}int res = 0,index_res = -1;

for (int i = 0 ; i < n; ++i)

while(index_res != -1)

while(stk.size())

return 0;

}

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

給定乙個整數序列,輸出它的最長遞減 注意不是 不遞增 子串行。輸入包括兩行,第一行包括乙個正整數n n 1000 表示輸入的整數序列的長度。第二行包括用空格分隔開的n個整數,整數範圍區間為 30000,30000 輸出為一行,最長遞減子串行的結果,數字間用空格分隔 測試case中只會有乙個最長遞減子...

最長遞減子串行

最長遞增子串行算過很多了?那我們這次來求個遞減的試試 第一行為乙個整數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,...