1 条题解

  • 0
    @ 2024-12-11 18:55:09
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int dp[200005],n;
    struct node{
    	int S,N;
    }a[200005];
    bool cmp(node x,node y){
    	return x.N<y.N;
    }
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		cin>>a[i].S>>a[i].N;
    	}
    	sort(a+1,a+n+1,cmp);
    	int num=1;
    	dp[num]=a[1].S;
    	for(int i=1;i<=n;i++){
    		int x=lower_bound(dp+1,dp+num+1,a[i].S)-dp;
    		dp[x]=a[i].S;
    		if(x>num) num++;
    	}
    	cout<<num;
    	return 0;
    }
    
    • 1

    信息

    ID
    263
    时间
    1000ms
    内存
    128MiB
    难度
    10
    标签
    (无)
    递交数
    1
    已通过
    1
    上传者