題目:
給出長度為n的陣列,找出這個陣列的最長遞增子串行。(遞增子串行是指,子串行的元素是遞增的)
例如:5 1 6 8 2 4 5 10,最長遞增子串行是1 2 4 5 10。
輸入
第1行:1個數n,n為序列的長度(2 <= n <= 50000)第2 - n + 1行:每行1個數,對應序列的元素(-10^9 <= s[i] <= 10^9)
輸出
輸出最長遞增子串行的長度。
輸入示例
8516824
510
輸出示例
5
**如下:
#include using namespace std;
typedef long long ll;
const int inf = 0x7fffffff;
const int maxn = 50000 + 131;
int dp[maxn], num[maxn];
int main()
cout << lower_bound(dp, dp+n, inf) - dp << endl;
}}
#include這個標頭檔案包含以下等等c++中包含的所有標頭檔案:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
等等……
不過在國內oj中,poj,hdu 不支援這個函式,這幾個oj的編譯器問題,其他國外的oj,還有台灣的oj都支援,cf,topcoder也都支援。
51NOD 最長遞增子串行(模板)
1134 最長遞增子串行 給出長度為n的陣列,找出這個陣列的最長遞增子串行。遞增子串行是指,子串行的元素是遞增的 例如 5 1 6 8 2 4 5 10,最長遞增子串行是1 2 4 5 10。input 第1行 1個數n,n為序列的長度 2 n 50000 第2 n 1行 每行1個數,對應序列的元素...
1134 最長遞增子串行 51nod 解題報告
1134 最長遞增子串行 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出長度為n的陣列,找出這個陣列的最長遞增子串行。遞增子串行是指,子串行的元素是遞增的 例如 5 1 6 8 2 4 5 10,最長遞增子串行是1 2 4 5 10。input 第1行 1個數n,n...
51 Nod 線段最長重疊部分
1091 線段的重疊 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 x軸上有n條線段,每條線段包括1個起點和終點。線段的重疊是這樣來算的,10 20 和 12 25 的重疊部分為 12 20 給出n條線段的起點和終點,從中選出2條線段,這兩條線段的重疊部分是最長的...