2 条题解

  • -1
    @ 2023-4-1 16:36:31

    少量huhe语言,不影响看。

    //#include<huhe>
    #include<iostream>
    #include<algorithm>
    #define h using
    #define uh namespace
    #define e std
    h uh e; //致敬huhe
    int n,dp[200010],ans;
    struct node{
    	int l,r;
    }a[200002];
    bool cmp(node x,node y){//排序判断用
    	return x.l>y.l;
    }
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		cin>>a[i].l>>a[i].r;
    	}
    	sort(a+1,a+n+1,cmp);//排序
    	int len=1;
    	dp[1]=a[1].r;
    	for(int i=2;i<=n;i++){
    		if(a[i].r<dp[len])dp[++len]=a[i].r;
    		else{
    			int pos=upper_bound(dp+1,dp+1+len,a[i].r,greater<int>())-dp;//用二分找
    			dp[pos]=a[i].r;
    		}
    	}
    	cout<<len<<endl;
    }
    /*
               ,
              / \
             {   }
             p   !
             ; h ;
             | u |
             | h |
             l e l
             l 之l
             H剑 H
             H ; H
             H ; H
             H ; H
             d | b
             U | E
             U | E
             U I E
     ,;,     U I E     ,;,
    ;H@U;    ;_H_;,   ;H@E;
    `\H/u_,;|HU@HE|;,_e\H/'
     '\;HHUUU$@@@$HHEEE;/'
       "~~~*;!h@h!;*~~~"
             ;u8u;
             ;h8h;
             ;e8e;
             ;h8h;
             du@ub
             Oh@hO
             Te0eT
              `~`
    */
    

    没错,注释加了跟没加一样,那是因为我也看不懂我之前写的代码

    信息

    ID
    1433
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    66
    已通过
    17
    上传者