POJ Problem 2533 Longest Ordered Subsequenc

来源:互联网 发布:淘宝推广认准晨昊网络 编辑:程序博客网 时间:2024/05/15 23:52

求最长递增子序列的长度

动态规划法,时间复杂度为O(nlogn)

#include <iostream>#include <vector>#include <algorithm>#include <math.h>using namespace std;int main(){    int n;    cin >> n;    vector<int> arr(n, 0);    for(int i = 0; i < n; ++i)        cin >> arr[i];    vector<int> help;    help.push_back(arr[0]);    for(int i = 1; i < n; ++i){        if(help[help.size()-1] < arr[i])            help.push_back(arr[i]);        else{            vector<int>::iterator it = lower_bound(help.begin(), help.end(), arr[i]);            *it = arr[i];        }    }    cout << help.size() << endl;    return 0;}


0 0
原创粉丝点击