3 条题解
-
0
#include<bits/stdc++.h> using namespace std; const int N=5e3+10; int n,dp[N],len,x,y; struct Friendly_City{ int k,l; }a[N]; bool cmp(Friendly_City x,Friendly_City y) { return x.k<y.k; } int main() { cin>>x>>y; scanf("%d",&n); for(int i=1;i<=n;++i) { scanf("%d%d",&a[i].k,&a[i].l); } sort(a+1,a+n+1,cmp); dp[++len]=a[1].l; for(int i=1;i<=n;++i) { if(dp[len]<a[i].l) { dp[++len]=a[i].l; } else { int upd=upper_bound(dp+1,dp+len+1,a[i].l)-dp; dp[upd]=a[i].l; } } printf("%d",len); return 0; }
信息
- ID
- 1722
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 350
- 已通过
- 79
- 上传者