3 条题解

  • 0
    @ 2025-11-9 19:38:14
    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<cmath>
    #include<iomanip>
    #include<queue>
    #include<algorithm>
    #include<vector>
    #include<stack>
    #include<set>
    #include<map>
    using namespace std;
    #define LL long long
    const int N=1e4+10;
    const int INF=0x3f3f3f3f;
    int n; 
    struct node
    {
    	int n,s;
    }a[N];
    bool cmp(node a1,node a2)
    {
    	return a1.n<a2.n;
    }
    int dp[N];
    int len;
    int main()
    {
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i].n>>a[i].s;
    	}
    	sort(a+1,a+n+1,cmp);
    	dp[++len]=a[1].s;
    	for(int i=2;i<=n;i++)
    	{
    		if(dp[len]<a[i].s)
    			dp[++len]=a[i].s;
    		else
    		{
    			int pos=lower_bound(dp+1,dp+len+1,a[i].s)-dp;
    			dp[pos]=a[i].s;
    		}
    	}
    	cout<< len;
    	
    	return 0;
    }
    

    信息

    ID
    1433
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    89
    已通过
    28
    上传者