解题思路:
LIS,直接用模板
注意事项:
用dp,难者不会会者不难
参考代码:
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #define N 1000 using namespace std; int A[N + 2]; int dp[N + 2]; //dp[i] = max{dp[j] + 1, 1} int getLIS(int n) { int ans = -1; for (int i = 1; i <= n; i++) { dp[i] = 1; for (int j = 1; j < i; j++) { if (A[j] <= A[i] && dp[i] < dp[j] + 1) dp[i] = dp[j] + 1; } ans = max(ans, dp[i]); } return ans; } int main(int argc, char** argv) { int n = 0; cin >> n; for (int i = 1; i <= n; i++) cin >> A[i]; cout << getLIS(n) << endl; return 0; }
0.0分
0 人评分
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:3396 |
C语言训练-求函数值 (C语言代码)浏览:938 |
字符串比较 (C语言代码)答案错误????浏览:597 |
WU-蓝桥杯算法提高VIP-勾股数 (C++代码)浏览:1607 |
简单的a+b (C语言代码)浏览:606 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:682 |
用筛法求之N内的素数。 (C语言代码)浏览:669 |
简单的a+b (C语言代码)浏览:546 |
矩阵乘方 (C语言代码)浏览:1031 |
出圈】指针malloc版浏览:355 |