zoukankan      html  css  js  c++  java
  • POJ 1631

    #include <iostream>
    #define MAXN 500005
    using namespace std;
    
    int T[MAXN];
    
    int binary_search(int *  a, int size, int num) ;
    
    int main()
    {
        //freopen("acm.acm","r",stdin);
        int i;
        int index;
        int test;
        int num;
        int place;
        int x;
        cin>>test;
    
        while(test --)
        {
            index = 1;
            cin>>num;
            cin>>x;
            T[0] = x;
            for(i = 1; i < num; ++ i)
            {
                cin>>x;
                if(x <=    T[0])
                {
                    T[0] = x;
                }
                else if(x > T[index-1])
                {
                    T[index ++] = x;
                }
                else
                {
                    place = binary_search(T,index,x);
                    T[place] = x;
                }
            }
            cout<<index<<endl;
        }
    }
    
    
    int binary_search(int *  a, int size, int num) 
    {
        int l = 0;
        int r = size-1;
    
        while(l <= r) 
        {
            int mid = (l + r) / 2;
            if(num > a[mid-1] && num <= a[mid] )
                return mid;            
            else if(num < a[mid])
                r = mid-1;
            else 
                l = mid+1;
        }
    }

    关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。 

    技术网站地址: vmfor.com

  • 相关阅读:
    学习进度06
    求最大子数组03
    js实现标签绑定回车事件
    ImageDown
    ImageUpload
    XMLProcess
    VideoConvert
    SmtpServerHelper
    SharpZip(压缩帮助类)
    SessionHelper
  • 原文地址:https://www.cnblogs.com/gavinsp/p/4566467.html
Copyright © 2011-2022 走看看