1 条题解
-
0
#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
- 上传者