首页 > 其他 > 详细

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

时间:2017-09-11 19:20:05      阅读:268      评论:0      收藏:0      [点我收藏+]
 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)

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!