团体程序设计天梯赛 L2-014 列车调度 (25分)(最长上升子序列)
题目链接:
L2-014 列车调度 (25分)
思路:
用贪心的思想稍微研究一下就可以知道这题在求原序列的最长上升子序列
代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn = 123456;
const int INF = 1 << 30;
int a[maxn];
int main() {
#ifdef MyTest
freopen("Sakura.txt", "r", stdin);
#endif
int n;
scanf("%d", &n);
fill(a, a + n, INF);
for(int i = 0; i < n; ++i) {
int x;
scanf("%d", &x);
*lower_bound(a, a + n, x) = x;
}
cout << lower_bound(a, a + n, INF) - a;
return 0;
}