解题思路:
注意事项:
参考代码:
#include<iostream> #include<algorithm> #include<vector> using namespace std; const int N =1010; int d[N],num; int a[N]; int main(void) { int n; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; d[++num]=a[1]; for(int i=2;i<=n;i++) { if(a[i]>=d[num]) d[++num]=a[i]; else { int p=upper_bound(d+1,d+num+1,a[i])-d; d[p]=a[i]; } } cout<<num; return 0; }
0.0分
0 人评分
C语言训练-斐波纳契数列 (C语言代码)浏览:1173 |
简单的a+b (C语言代码)浏览:676 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:524 |
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1118 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:609 |
局部变量作函数返回值的问题浏览:981 |
图形输出 (C语言代码)浏览:944 |
C语言程序设计教程(第三版)课后习题12.5 (C语言代码)浏览:766 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:450 |
上车人数 (C语言代码)浏览:713 |