求助!求助!
查看原帖
求助!求助!
1078751
Kete楼主2024/7/16 14:29

本蒟蒻Subtask #1 这个测试点TLE了

求大佬修改

代码如下:

#include<bits/stdc++.h>
using namespace std;
int a[100005],dp[100005],h[100005];
int ma,m,n,l,r,mid;
int main(){
    while(cin>>a[i]){
        ma=0;
        for(int j=1;j<=i-1;j++)if(a[j]>=a[i]&&dp[j]>ma)ma=dp[j];
        dp[i]=ma+1;
        m=max(dp[i],m);
        l=1,r=n;
        while (l<r){
            mid=(l+r)/2;
            if (h[mid]<a[i]) l=mid+1;
            else r=mid;
        }
        if (h[r]<a[i]) n++,h[n]=a[i];
        else h[r]=a[i];
        i++;
    }
    cout<<m<<endl<<n;
    return 0;
}

测评记录

2024/7/16 14:29
加载中...