POJ 2533 Longest Ordered Subsequence——LIS

来源:互联网 发布:java链表 编辑:程序博客网 时间:2024/06/18 05:53

直接用了nlognLIS模板

#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int maxn = 1010;int n, a[maxn], b[maxn];int main(){    while (cin >> n) {        for (int i = 1; i <= n; i++) {            scanf("%d", &a[i]);        }        int cnt = 0;        b[++cnt] = a[1];        for (int i = 2; i <= n; i++) {            if (a[i] > b[cnt]) {                b[++cnt] = a[i];            }            else {                int pos = lower_bound(b + 1, b + 1 + cnt, a[i]) - b;                b[pos] = a[i];            }        }        cout << cnt << endl;    }}