提交时间:2022-07-19 12:30:58

运行 ID: 52519

#include <bits/stdc++.h> using namespace std; const int N=5e5+10; int n,cnt,f[N],ans,nn; struct qp { int l,r,id; }a[N]; bool cmp2(qp q,qp w) { return q.l==w.l?q.id<w.id:q.l<w.l; } int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cin>>n; for(int i=1;i<=n;i++) cin>>a[i].l>>a[i].r,a[i].id=i; sort(a+1,a+n+1,cmp2); f[1]=f[2]=1; for(int i=2;i<=n;i++,f[i]=1) for(int o=1;o<i;o++) if(a[i].r<=a[o].r) f[i]=max(f[i],f[o]+1); cout<<f[n]<<endl; return 0; } /* 5 1 100 2 1 3 30 4 50 4 50 */