動態規劃 單調遞增最長子序列

2022-08-09 05:54:09 字數 630 閱讀 9251

設計乙個o(n2)時間的演算法,找出由n個數組成的序列的最長單調遞增子串行。

輸入格式:

輸入有兩行: 第一行:n,代表要輸入的數列的個數 第二行:n個數,數字之間用空格格開

輸出格式:

最長單調遞增子串行的長度

輸入樣例:

5

1 3 5 2 9

輸出樣例:

4

定義乙個dp陣列,全部初始化為1,代表至少遞增子串行長度為1

如果後面的數字比前面的大,當前dp+1,但要注意dp是在取前面最大dp值+1

即 dp[i] = maxs(dp[j] + 1, dp[i])

#include using namespace std;

int maxs(int i, int j);

int main()}}

}cout << len << endl;

return 0;

}int maxs(int i, int j)

動態規劃 單調遞增最長子序列

動態規劃 單調遞增最長子序列 時間限制 1 sec 記憶體限制 128 mb 求乙個字串的最長遞增子串行的長度 如 dabdbf最長遞增子串行就是abdf,長度為4 第一行乙個整數0輸出字串的最長遞增子串行的長度 3 aaaababc abklmncdefg 137 遞增子串行可以不是連續的。1 i...

動態規劃之單調遞增最長子序列

設計乙個o n2 時間的演算法,找出由n個數組成的序列的最長單調遞增子串行。輸入有兩行 第一行 n,代表要輸入的數列的個數 第二行 n個數,數字之間用空格格開 最長單調遞增子串行的長度 在這裡給出一組輸入。例如 5 1 3 5 2 9在這裡給出相應的輸出。例如 4 include include i...

單調遞增最長子序列問題(動態規劃)

具體描述如下 設計乙個o n2 時間的演算法,找出由n個數組成的序列的最長單調遞增子串行。輸入格式 輸入有兩行 第一行 n,代表要輸入的數列的個數 第二行 n個數,數字之間用空格格開 輸出格式 最長單調遞增子串行的長度 輸入樣例 在這裡給出一組輸入。例如 51 3 5 2 9 輸出樣例 在這裡給出相...