最长上升子序列(二分优化) – 算法板子

#include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int a[N], q[N]; int n; int main() {     cin >> n;     for (int i = 0; i < n; ++i) cin >> a[i];     int len = 0;     q[0] = -2e9;     for (int i = 0; i <n; ++i) {         int t = a[i];         int l = 0, r = len, m;         while (l < r) {             m = (l + r + 1) >> 1;             if (q[m] < t) {                 l = m;             } else {                 r = m - 1;             }         }         q[l + 1] = t;         len = max(len, l + 1);     }     cout << len << endl;     return 0; }

最长上升子序列(二分优化) – 算法板子leetcode刷题题解部分资料来自网络,侵权毕设源码联系删除

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 最长上升子序列(二分优化) – 算法板子leetcode刷题题解