給定乙個整數序列,輸出它的最長遞減(注意不是「不遞增」)子串行。
輸入包括兩行,第一行包括乙個正整數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,...