lis最长上升子序列 (kuangbin nlogn)

Posted 啦啦啦天啦噜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lis最长上升子序列 (kuangbin nlogn)相关的知识,希望对你有一定的参考价值。

 1 int arr[maxn],ans[maxn],len;
 2 
 3 void Lis()
 4 {
 5     ///ans为序列数组
 6     memset(arr,0,sizeof(arr));
 7     memset(ans,0,sizeof(ans));
 8     ans[1] = arr[1];
 9     len=1;
10     for(int i=2; i<=n; ++i){
11         if(arr[i]>ans[len])///严格上升
12             ans[++len]=arr[i];
13         else{
14             int pos=lower_bound(ans,ans+len,arr[i])-ans;
15             ans[pos] = arr[i];
16         }
17     }
18 }

 

以上是关于lis最长上升子序列 (kuangbin nlogn)的主要内容,如果未能解决你的问题,请参考以下文章

LIS最长上升子序列

LIS:最长上升子序列

Lintcode--010(最长上升子序列)

最长上升子序列(LIS)动态规划

LIS最长上升子序列

LIS 最长上升子序列问题(动态规划贪心+二分)