3 条题解
-
0
#include<cstdio> #include<iostream> #include<cstring> #include<cmath> #include<iomanip> #include<queue> #include<algorithm> #include<vector> #include<stack> #include<set> #include<map> using namespace std; #define LL long long const int N=1e4+10; const int INF=0x3f3f3f3f; int n; struct node { int n,s; }a[N]; bool cmp(node a1,node a2) { return a1.n<a2.n; } int dp[N]; int len; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i].n>>a[i].s; } sort(a+1,a+n+1,cmp); dp[++len]=a[1].s; for(int i=2;i<=n;i++) { if(dp[len]<a[i].s) dp[++len]=a[i].s; else { int pos=lower_bound(dp+1,dp+len+1,a[i].s)-dp; dp[pos]=a[i].s; } } cout<< len; return 0; }
信息
- ID
- 1433
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 89
- 已通过
- 28
- 上传者