团体程序设计天梯赛 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;
}
发布了280 篇原创文章 · 获赞 7 · 访问量 6695

猜你喜欢

转载自blog.csdn.net/qq_45228537/article/details/104045012