#include <iostream> #include <stdio.h> #include <map> #include <vector> using namespace std; int f[23333]; int maxn; int n; void LIS_dp(int *a) { for (int i = 0; i < n; i++) { f[i] = 1; for (int j = 0; j < i; j++) { if (a[i] >= a[j] && f[j] + 1 >= f[i]) f[i] = f[j] + 1; } } } int main() { int a[23333]; scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", &a[i]); LIS_dp(a); int t = 0; for (int i = 0; i < n; i++) if (f[i] > t) t = f[i]; printf("%d", t); return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题9.2 (Java代码)浏览:608 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1514 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:762 |
wu-理财计划 (C++代码)浏览:827 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:581 |
母牛的故事 (C语言代码)浏览:1427 |
1013题解浏览:552 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1909 |
循环入门练习5 (C语言代码)浏览:829 |
整除问题 (C语言代码)浏览:518 |