Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
140615 林泽豪 最长不下降子序列 C++ 通过 100 22 MS 644 KB 446 2024-03-30 16:28:59

Tests(10/10):


#include<bits/stdc++.h> using namespace std; const int N=110000; int w[N],f[N],maxn=0,top; int g(int x){ int l=1 ,r=top,res; while(l<=r){ int mid=(l+r)>>1; if(f[mid]<=x){ l=mid+1; if(f[l]>x)break; }else { r=mid-1; } } return l; } int main(){ int n; cin>>n; for(int i=1;i<=n;i++)cin>>w[i]; for(int i=1;i<=n;i++){ if(f[top]<=w[i])f[++top]=w[i]; else f[g(w[i])]=w[i]; } cout<<top; }


测评信息: