單調遞增最長子序列
時間限制:3000 ms | 記憶體限制:65535 kb
難度:4
描述 求乙個字串的最長遞增子串行的長度
如:dabdbf最長遞增子串行就是abdf,長度為4
輸入 第一行乙個整數0< n<20,表示有n個字串要處理
隨後的n行,每行有乙個字串,該字串的長度不會超過10000
輸出 輸出字串的最長遞增子串行的長度
樣例輸入
3 aaa
ababc
abklmncdefg
樣例輸出
1 3
7n*logn演算法求單調遞增子串行,存一下模板;
求單調遞增主要是兩步判斷:
1:a[i]>當前最長單調遞增序列的末尾,長度+1,將a[i]放在末尾
2:a[i]<=當前最長單調遞增序列的末尾,找出最左邊的》a[i]的位置,替換為a[i]
思想就是小的盡量靠前,這樣構造出的遞增序列才盡可能長
#include
#include
#include
#include
#include
#include
using
namespace
std;
typedef
long
long ll;
const
int n=1e4+200;
char a[n],dp[n];
int main()
else
}printf("%d\n",len);
}return
0;}
NYOJ 17 單調遞增最長子序列
寫了兩個版本,一直找不出第乙個程式 錯了。先放著,回頭再來繼續改 f i max 1 0 j include includeusing namespace std define n 10005 char str n int f n int main if f i max2 max2 f i prin...
nyoj 17 單調遞增最長子序列
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 求乙個字串的最長遞增子串行的長度 如 dabdbf最長遞增子串行就是abdf,長度為4 輸入第一行乙個整數0 輸出輸出字串的最長遞增子串行的長度 樣例輸入 3 aaaababc abklmncdefg 樣例輸出 1 3 簡單動規...
nyoj 17 單調遞增最長子序列
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 求乙個字串的最長遞增子串行的長度 如 dabdbf最長遞增子串行就是abdf,長度為4 輸入第一行乙個整數0 輸出輸出字串的最長遞增子串行的長度 樣例輸入 3 aaaababc abklmncdefg 樣例輸出 1 37 思路 ...