LIS
LIS \operatorname{LIS} LIS
題目連結: AtCoder Chokudai SpeedRun 001 H \operatorname{AtCoder\ Chokudai\ SpeedRun\ 001\ H} AtCoder Chokudai SpeedRun 001 H / luogu AT2827 \operatorname{luogu\ AT2827} luogu AT2827
題目大意
來自洛谷:
樣例輸入1
5
3 1 5 4 2
樣例輸出1
2
樣例輸入2
6
1 2 3 4 5 6
樣例輸出2
6
樣例輸入3
7
7 6 5 4 3 2 1
樣例輸出3
1
樣例輸入4
20
19 11 10 7 8 9 17 18 20 4 3 15 16 1 5 14 6 2 13 12
樣例輸出4
6
資料範圍
1 ≤ N ≤ 100 , 000 1\leq N\leq 100,000 1≤N≤100,000
思路
就是一道普通的 LIS 。
就按 nlogn 的演算法來做即可。
洛谷交不了,可以在 AtCoder 上面交。
程式碼
#include<cstdio>
#include<iostream>
using namespace std;
int n, a[100001], shang[100001], lef, righ, shang_num;
int main() {
shang[0] = -2147483647;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%d", &a[i]);
if (a[i] > shang[shang_num]) {
shang_num++;
shang[shang_num] = a[i];
}
else {
lef = 0, righ = shang_num;
while (lef < righ) {
int mid = (lef + righ) >> 1;
if (shang[mid] >= a[i]) righ = mid;
else lef = mid + 1;
}
shang[lef] = min(shang[lef], a[i]);
}
}
printf("%d", shang_num);
return 0;
}
相關文章
- 【模板】LIS
- 死嗑 最長上升子序列(LIS)
- HDU 5773 The All-purpose Zero 求LIS
- 一起來解讀LIS吧!
- abc360_G Suitable Edit for LIS 題解UI
- NlogN 求最長不下降子序列(LIS)
- 醫學檢驗雲Lis平臺原始碼原始碼
- Leetcode 300 最長遞增子序列(LIS板題)LeetCode
- 洛谷P1481 魔族密碼(LIS)密碼
- 11.19 CW 模擬賽 T3.又見 LIS
- LIS系統與儀器進行通訊-軟體
- 雜題隨筆 10.31 兩道LIS相關的題
- 最長上升子序列LIS 詳解+變形+擴充
- B/S版區域檢驗管理系統原始碼(雲LIS)原始碼
- 基於.NET+ Oracle三層架構的醫院LIS系統原始碼Oracle架構原始碼
- 【ACM程式設計】動態規劃 第二篇 LCS&LIS問題ACM程式設計動態規劃
- DP筆記最長上升子序列(LIS)以及零件分組問題筆記
- [LeetCode 困難 動態規劃+LIS問題]354. 俄羅斯套娃信封問題LeetCode動態規劃
- 基於Asp.NET CORE 技術框架開發的實驗室資訊管理系統原始碼LISASP.NET框架原始碼
- 基於C#開發 B/S架構的實驗室管理系統 雲LIS系統(MVC + SQLserver + Redis)C#架構MVCSQLServerRedis
- 雲LIS檢驗系統原始碼,採用.Net Core+DEV報表+前端js封裝技術開發原始碼dev前端JS封裝
- 【部分轉載】:【lower_bound、upperbound講解、二分查詢、最長上升子序列(LIS)、最長下降子序列模版】
- 醫學檢驗資訊系統原始碼(雲LIS)集齊前處理、檢驗、報告、質控、統計分析、兩癌等模組原始碼