主页
最近更新
捐赠
云剪贴板 okpo6aei
作者
zcx_new
复制 Markdown
更新剪贴板内容
```cpp #include<bits/stdc++.h> using namespace std; const int N=200001; int a[N]; int b[N]; int ans[N],loc; signed main(){ int n; cin>>n; for(int i=1;i<=n;i++)cin>>a[i]>>b[i]; int len=1; ans[len]=min(a[1],b[1]); for(int i=2;i<=n;i++){ if(a[i]>ans[len]){ if(b[i]>ans[len]){ len++; ans[len]=min(a[i],b[i]); }else{ len++; ans[len]=a[i]; loc=lower_bound(ans+1,ans+len+1,b[i])-ans; ans[loc]=b[i]; } }else{ if(b[i]>ans[len]){ len++; ans[len]=b[i]; loc=lower_bound(ans+1,ans+len+1,a[i])-ans; ans[loc]=a[i]; }else{ loc=lower_bound(ans+1,ans+len+1,a[i])-ans; ans[loc]=a[i]; loc=lower_bound(ans+1,ans+len+1,b[i])-ans; ans[loc]=b[i]; } } } cout<<len; return 0; } ```
Loading...