解题思路:
注意事项:
参考代码:
#include <algorithm> #include <iostream> using namespace std; int arr[1000]; int dp[1000]; int main() { int n; cin >> n; for (int i = 1; i <= n; i++) { cin >> arr[i]; dp[i] = 1; //dp序列初始化为1 } for (int i = 2; i <= n; i++) { int maxx = 0; for (int j = 1; j <= i - 1; j++) { if (arr[j] <= arr[i] && dp[j] > maxx)//在1-i-1找到最大序列 累加 maxx = dp[j]; } dp[i] += maxx; //找到最大累加 } int ans = 0; for (int i = 1; i <= n; i++) //在1-n寻找最大序列的值 ans = max(ans, dp[i]); cout << ans<<endl; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:287 |
【偶数求和】 (C语言代码)浏览:588 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:646 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:583 |
简单的a+b (C语言代码)浏览:878 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:676 |
川哥的吩咐 (C语言代码)浏览:663 |
理财计划 (C语言代码)浏览:494 |
简单的事情 (C语言代码)浏览:679 |
C语言程序设计教程(第三版)课后习题7.3 (C++代码)浏览:483 |