c_cpp UVa 10534 - Wavio序列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp UVa 10534 - Wavio序列相关的知识,希望对你有一定的参考价值。

#include <bits/stdc++.h>
using namespace std;

typedef long long LL;
const int MAXN=1e5+5;
const int MAXM=1e5+5;
const int mod=1e9+7;

int n,x[MAXN],f[MAXN],g[MAXN][2];

int main(){
    while(scanf("%d",&n)!=EOF){
        for(int i=1;i<=n;i++) scanf("%d",&x[i]);
        int len;
        f[0]=len=0;
        for(int i=1;i<=n;i++){
            int l=1,r=len,mid,pos=0;
            while(l<=r){
                mid=(l+r)/2;
                if (f[mid]<x[i]) pos=mid,l=mid+1;
                else r=mid-1;
            }
            f[pos+1]=x[i];
            g[i][0]=pos+1;
            len=max(len,pos+1);
        }
        f[0]=len=0;
        for(int i=n;i>=1;i--){
            int l=1,r=len,mid,pos=0;
            while(l<=r){
                mid=(l+r)/2;
                if (f[mid]<x[i]) pos=mid,l=mid+1;
                else r=mid-1;
            }
            f[pos+1]=x[i];
            g[i][1]=pos+1;
            len=max(len,pos+1);
        }
        int ans=0;
        for(int i=1;i<=n;i++) ans=max(ans,min(g[i][0],g[i][1]));
        printf("%d\n",ans*2-1);
    }
    return 0;
}

以上是关于c_cpp UVa 10534 - Wavio序列的主要内容,如果未能解决你的问题,请参考以下文章

UVA 10534Wavio Sequence

UVA - 10534

UVa 10534 波浪子序列(快速求LIS)

c_cpp uva10189

c_cpp uva10093

c_cpp uva12307