最长上升子序列 O(n*n) & O(n*log(n))

练习题目:https://www.nowcoder.com/questionTerminal/d83721575bd4418eae76c916483493de

code O(n^2):

#include 
#include 
#define MAXN 1010
using namespace std;
int a[MAXN] , dp[MAXN];
int n,ans;
int main()
{
    while(~scanf("%d",&n)){
        for(int i=0;i

code O(n*log(n)):

#include 
#include 
#include 
#define MAXN 1010
using namespace std;
int a[MAXN],c[MAXN];
int n,len=0;
//折半查找
int binary_search(int x)
{
    int l=1,r=len,mid;
    while(l<=r)
    {
        mid=(l+r)>>1;
        if(x>c[mid])l=mid+1;
        else
            r=mid-1;
    }
    return l;
}
int main()
{
    while(~scanf("%d",&n)){
        for(int i=0;i

你可能感兴趣的:(acm_动态规划)