⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 soj2804o(logn)最长上升子序列.cpp

📁 一些ACM题目的解答,主要是soj和poj的
💻 CPP
字号:
#include<stdio.h>
#include<string.h>

int t[1000000];

int main(void)
{
    int a,len,n;
    int i,j,low,high,mid;
    while(scanf("%d",&n)!=EOF)
    {
        len=0;
        memset(t,0,sizeof(t));
        for(i=0;i<n;i++)
        {
            scanf("%d",&a);
            if(len==0||a>t[len-1])
            {
                t[len++]=a;
            }
            else
            {
                low=0;high=len-1;mid=(high+low)/2;
                while(low<high)
                {
                    if(a>t[mid])
                    {
                        low=mid+1;
                    }
                    else
                    {
                        high=mid;
                    }
                    mid=(high+low)/2;
                }
                t[mid]=a;
            }
        }
        printf("%d\n",len);
    }
    return 0;
}
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -