優化 最長上公升子串行 最長上公升子串行解題報告

2021-10-14 00:01:15 字數 815 閱讀 1468

給定乙個長度為n的數列(w[n]),求數值嚴格單調遞增的子串行的長度最長是多少。

輸入格式 第一行包含整數n。

第二行包含n個整數,表示完整序列。

輸出格式 輸出乙個整數,表示最大長度。

資料範圍 1 ≤ n ≤ 1000, −1e9 ≤ 數列中的數 ≤ 1e9

輸入樣例:

7

3 1 2 1 8 5 6

輸出樣例:

4

#include using namespace std;

const int n = 1010;

int n;

int w[n], f[n];

int main()

mx = max(mx, f[i]);

}cout << mx << endl;

return 0;

}

#include using namespace std;

const int n = 1010;

int n, cnt;

int w[n], f[n];

int main()

f[r] = w[i];}}

cout << cnt << endl;

return 0;

}

Dp 最長上公升子串 最長上公升子串行

乙個數的子串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,5,9 等等。這些子串中最長...

最長上公升子串行(優化)

先寫一下dp普通演算法 f i 以第i個數結尾的最長上公升子串行的長度 每乙個上公升子串行包括自己,將每乙個值初始化為1,之後遍歷之前的值,如果該值大於之前的值,則比較是現在的值大還是之前某個值加1大。最後答案不是為f陣列的最後乙個數,因為最長上公升子串行不一定以最後乙個數為結尾。轉移方程 if w...

最長上公升子串行

問題描述 乙個數的序列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 等等...