1 条题解

  • 0
    @ 2026-5-16 20:37:55
    #include<bits/stdc++.h>
    using namespace std;
    int dp[1000005];
    int a[1000005];
    int main(){
    	int n;
    	cin>>n;	
    	for(int i=1;i<=n;i++)
    		cin>>a[i];
    	int l=0;
    	dp[++l]=a[1];
    	for(int i=2;i<=n;i++){
    		if(a[i]>dp[l])
    			dp[++l]=a[i];
    		else{
    			int ps=lower_bound(dp+1,dp+l+1,a[i])-dp;
    			dp[ps]=a[i];
    		}
    	}
    	cout<<l;
    	return 0;
    }
    • 1

    信息

    ID
    3135
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    182
    已通过
    18
    上传者