码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-09-11 19:58:09      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:div   max   pos   ems   span   nlogn   数组   mem   color   

 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)

标签:div   max   pos   ems   span   nlogn   数组   mem   color   

原文地址:http://www.cnblogs.com/lalalatianlalu/p/7506119.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!