1134 最長遞增子串行
基準時間限制:1 秒 空間限制:131072 kb 分值: 0
難度:基礎題
給出長度為n的陣列,找出這個陣列的最長遞增子串行。(遞增子串行是指,子串行的元素是遞增的)
例如:5 1 6 8 2 4 5 10,最長遞增子串行是1 2 4 5 10。
input
第1行:1個數n,n為序列的長度(2 <= n <= 50000)output第2 - n + 1行:每行1個數,對應序列的元素(-10^9 <= s[i] <= 10^9)
輸出最長遞增子串行的長度。input示例
851output示例6824
510
5這篇更詳細,(*^▽^*)
定義d[k]:長度為k的上公升子串行的最末元素,若有多個長度為k的上公升子串行,則記錄最小的那個最末元素。
,如果沒有,dp陣列長度+1,a[i]置於dp末尾)
#include
int a[50010];
int dp[50010];
int k=1,n;
int half(int l,int r,int x)
return l;
}int main()
printf("%d\n",k);
return 0;
或者直接使用upper_bound函式來查詢
關於upper_bound的用法和lower_bound的用法見
#include
#include
using namespace std;
int a[50010];
int dp[50010];
int k=1,n;
int main()
printf("%d\n",k);
return 0;
}
1134 最長遞增子串行
1134 最長遞增子串行 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出長度為n的陣列,找出這個陣列的最長遞增子串行。遞增子串行是指,子串行的元素是遞增的 例如 5 1 6 8 2 4 5 10,最長遞增子串行是1 2 4 5 10。input 第1行 1個數n,n...
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個數,對應序列的元素 10 9 s i 10 ...
1134 最長遞增子串行
1134 最長遞增子串行 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出長度為n的陣列,找出這個陣列的最長遞增子串行。遞增子串行是指,子串行的元素是遞增的 例如 5 1 6 8 2 4 5 10,最長遞增子串行是1 2 4 5 10。input 第1行 1個數n,n...