团体程序设计天梯赛 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;
}
posted @ 2020-01-19 20:46  YuhanのBlog  阅读(225)  评论(0编辑  收藏  举报