zoj2136 最长上升子序列LIS O(NlgN)解法
来源:互联网 发布:java base64 中文乱码 编辑:程序博客网 时间:2024/05/18 09:18
题目链接:zoj2136
讲当前最长上升子序列建一个数组,利用二分查找
#include<iostream>using namespace std;const int maxn = 1002;int a[maxn];int find(int *a,int len,int n){int left = 0,right=len,mid=(left+right)/2;while(left<=right){if(a[mid] < n)left = mid + 1;else if(a[mid] > n)right = mid - 1;elsereturn mid;mid = (left+right)/2;}return left;}int main(void){int ncases,n;cin>>ncases;while(ncases--){cin>>n;for(int i=0;i<n;i++)cin>>a[i];int c[n+1];c[0] = -1;c[1] = a[0];int len = 1;for(int i=1;i<n;i++){int j = find(c,len,a[i]);c[j] = a[i];if(j > len)len = j;}cout<<len<<endl;if(ncases)cout<<endl;}return 0;}
0 0
- zoj2136 最长上升子序列LIS O(NlgN)解法
- 最长上升子序列LIS O(nlgn)算法
- 最长上升子序列的O(nlgn)解法
- LintCode -- 最长上升子序列 O(nlgn)
- LIS (最长上升字序列) nlgn 解法
- 【最长上升子序列O(nlgn)】HDU 1025
- 【线段树+O(nlgn)最长上升子序列】HDU 3564
- O(nlgn)求解最长上升子序列长度
- uva10534 - Wavio Sequence O(nlgn)的最长上升子序列
- 求最长上升/下降子序列【O(nlgn)】
- UESTC 251 最长上升子序列O(nlgn)
- LIS 最长上升子序列问题 nlgn时间打印其中一个序列
- 最长上升子序列(LIS)长度的O(nlogn)算法
- 优化的最长上升子序列LIS算法 O(nlogn)
- 最长上升子序列(LIS)长度的O(nlogn)算法 .
- 最长上升子序列(LIS)长度的O(nlogn)算法
- 最长上升子序列(LIS)长度的O(nlogn)算法
- 最长上升子序列(LIS)长度的O(nlogn)算法
- 人托人
- 亲,消防喊你来点“料”
- 高特温特容颜
- TextView中使用一个字符串替换字符串str中start到end的子字符串(终极版)
- stringbuffer与stringbuilder的
- zoj2136 最长上升子序列LIS O(NlgN)解法
- nodejs资源
- windows API CreateDirectory和RemoveDirectory函数
- NSdate to int
- 也谈代码中注释的问题
- Oracle课程里关于计算时间差的问题
- VB EXCEL 2007 TO 2003
- LayoutInflater的作用和用法(转)
- eternity65