0
点赞
收藏
分享

微信扫一扫

POJ 2533 Longest Ordered Subsequence——LIS


直接用了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;
}
}



举报

相关推荐

#1143 Longest Common Subsequence

0 条评论