最长上升子序列 C++ 动态规划
2022/2/4 11:43:31
本文主要是介绍最长上升子序列 C++ 动态规划,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#include<bits/stdc++.h> using namespace std; #define MAX 1010 int a[MAX]; int maxLen[MAX];//存储以数组的每一位为终点的最长子序列的长度,初始都为1 int main(){ int n; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i];//从i=1开始录入 maxLen[i] = 1;//初始长度都为1 } for (int i = 2; i <= n; i++) { //每次求的是以第i个数为终点的最长上升子序列的长度 for (int j = 1; j < i; j++) { if (a[i] > a[j]) { //从i的后面察看以第j个数为终点的最长上升子序列 maxLen[i] = max(maxLen[i], maxLen[j] + 1); } } } cout << *max_element(maxLen + 1, maxLen + n + 1); return 0; }
这篇关于最长上升子序列 C++ 动态规划的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-21拼接的xml报文,尖括号都被转移成了< 是什么原因-icode9专业技术文章分享
- 2024-09-21Svg Sprite Icon教程:从入门到实践
- 2024-09-21Svg Sprite Icon实战:从入门到上手
- 2024-09-20构建一个多PDF RAG聊天机器人:使用Langchain和Streamlit及代码
- 2024-09-20whatsapp webhook 回调的签名验证偶尔会失败是什么原因-icode9专业技术文章分享
- 2024-09-19Excel数据导出课程:初学者必备教程
- 2024-09-19Excel数据导入课程:新手入门指南
- 2024-09-19RBAC的权限管理入门教程
- 2024-09-19如何使用Svg Sprite Icon制作图标
- 2024-09-19uniapp 如何实现点赞后全局更新数据-icode9专业技术文章分享