065_最长递增子序列

来源:互联网 发布:网站域名综合查询 编辑:程序博客网 时间:2024/05/16 12:03

 最长递增子序列,经典问题,有别于最长子序列问题,元素必须递增。

  cse531 mid2的时候考过的问题,要求n^2, 某人做了个半对还沾沾自喜.........弱爆了。

 这里给出nlogn的解法,《挑战程序竞赛》书中实例代码相当简洁优雅,三行搞定。

 以下po c++ 代码。

 

////  065_lasc.cpp//  changlle////  Created by user on 12/29/15.//  Copyright (c) 2015 user. All rights reserved.//#include <iostream>#include <algorithm>using namespace std;int n=5;int a[5]={4,2,3,1,5};int main () {        int dp[5];    fill(dp, dp+n,100);    for (int i=0; i<n;i++)        *lower_bound(dp,dp+n,a[i])=a[i];        cout<<lower_bound(dp,dp+n,100)-dp<<endl;            return 0;}




1 0
原创粉丝点击