51nod動態規化 最長單調遞增子串行

2021-07-10 17:30:01 字數 1083 閱讀 3369

題目:

給出長度為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)

輸出

輸出最長遞增子串行的長度。

輸入示例

851

6824

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條線段,這兩條線段的重疊部分是最長的...