最长上升子序列LIS O(nlgn)算法
2011-12-15 14:57
183 查看
问题就不描述了,相信来看这个算法的人都清楚。
int LIS(int str[],int len) { int max,left,right,i,mid; lis[1] = str[0]; max = 1; for(i=1; i<len; i++) { if(str[i] > lis[max]) { lis[++max] = str[i]; } else { left = 1; right = max; while(left <= right) { mid = (left+right)/2; if(str[i] > lis[mid]) left = mid + 1; else if(str[i] < lis[mid]) right = mid - 1; else break; } lis[left] = str[i]; } } return max; }
相关文章推荐
- zoj2136 最长上升子序列LIS O(NlgN)解法
- 算法学习之动态规划--最长上升子序列
- 最长上升子序列O(nlogn)算法
- 算法练习--- DP 求解最长上升子序列(LIS)
- 最长上升子序列的O(nlgn)解法
- POJ2533 -Longest Ordered Subsequence最长上升子序列-动规和nlogn二分算法详解
- 【最长上升子序列LIS】O(n^2)和O(nlogn)算法简记
- 最长上升子序列(LIS)算法
- 经典字符串算法 “最长上升子序列,最大连续子序列和,最长公共子串”
- 牛客网NowCoder 2018年全国多校算法寒假训练营练习比赛(第二场)A.吐泡泡(stack) B.TaoTao要吃鸡(动态规划01背包) D.YB要打炉石(最长上升子序列) E.小G有一个大树(树的重心) G.送分了QAQ H.了断局(递推)
- 初入算法篇(动态规划)最长上升子序列poj2533+栈优化模板&&scau18090 好多好多球
- 最长上升子序列n*n和nlogn 算法
- 最长上升子序列——O (nlogn)算法原因解析!为什么这样可以求出来!(附带动态规划dp + 二分查找讲解)
- LCIS(最长公共上升子序列)的O(nm)算法 (转)
- 最长上升子序列(LIS)长度的O(nlogn)算法
- [算法] doj 1066 最长上升子序列
- 最长上升子序列之O(n^2)算法
- 最长上升子序列O(nlogn)算法模板
- 最长上升子序列(LIS)长度的O(nlogn)算法
- 算法题:最长上升子序列