POJ - 1631 Bridging signals

来源:互联网 发布:手机金山数据恢复大师 编辑:程序博客网 时间:2024/06/06 03:42

1.题面

http://poj.org/problem?id=1631

2.题意

裸的最长上升子序列

3.解题思路

最长上升子序列的nlogh解法

4.解题代码

/*****************************************************************    > File Name: tmp.cpp    > Author: Uncle_Sugar    > Mail: uncle_sugar@qq.com    > Created Time: 2016年04月18日 星期一 22时27分54秒*****************************************************************/# include <cstdio># include <cstring># include <cmath># include <cstdlib># include <climits># include <iostream># include <iomanip># include <set># include <map># include <vector># include <stack># include <queue># include <algorithm>using namespace std;const int debug = 1;const int size  = 100000 + 10; const int INF = INT_MAX>>1;typedef long long ll;int a[size],b[size];int main(){std::ios::sync_with_stdio(false);cin.tie(0);int i,j;int T;cin >> T;while (T--){int n;cin >> n;for (i=0;i<n;i++){cin >> a[i];b[i] = INF;}int ans = 0;for (i=0;i<n;i++){int k = lower_bound(b,b+n,a[i]) - b;ans = max(ans,k);b[k] = a[i];}cout << ans + 1 << endl;}return 0;}


0 0
原创粉丝点击