当前位置: 首页 > news >正文

题解:AcWing 895 最长上升子序列

【题目来源】

AcWing:895. 最长上升子序列 - AcWing题库

【题目描述】

给定一个长度为 \(N\) 的数列,求数值严格单调递增的子序列的长度最长是多少。

【输入】

第一行包含整数 \(N\)

第二行包含 \(N\) 个整数,表示完整序列。

【输出】

输出一个整数,表示最大长度。

【输入样例】

7
3 1 2 1 8 5 6

【输出样例】

4

【算法标签】

《AcWing 895 最长上升子序列》 #动态规划# #线性DP# #最长上升子序列#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 1005; // 定义常量N,表示数组的最大长度
int n; // 输入的数组长度
int a[N]; // 存储输入的数组
int f[N]; // f[i]表示以a[i]结尾的最长上升子序列的长度int main()
{cin >> n; // 输入数组的长度for (int i = 1; i <= n; i++) cin >> a[i]; // 输入数组元素// 动态规划求解最长上升子序列for (int i = 1; i <= n; i++){f[i] = 1; // 初始化f[i],至少包含a[i]一个数,所以长度为1// 遍历a[i]之前的所有元素,寻找可以接在a[i]前面的最长上升子序列for (int j = 1; j < i; j++)if (a[j] < a[i]) // 如果a[j] < a[i],说明a[j]可以接在a[i]前面f[i] = max(f[i], f[j] + 1); // 更新f[i],取f[j]+1和当前f[i]的最大值}int res = 0; // 用于存储最终的最长上升子序列的长度for (int i = 1; i <= n; i++)res = max(res, f[i]); // 遍历f数组,找到最大值cout << res << endl; // 输出结果return 0;
}

【运行结果】

7
3 1 2 1 8 5 6
4
http://www.jsqmd.com/news/399030/

相关文章:

  • html5的原生模板标签template
  • 题解:AcWing 896 最长上升子序列 II
  • 税务
  • TKG-Thinker:通过智能体强化学习实现时序知识图谱的动态推理
  • 当方向盘遇上数学魔法:MPC主动转向控制实战手记
  • 毕业论文神器!口碑爆棚的降AIGC平台 —— 千笔·降AI率助手
  • 考虑阶梯式碳机制与电制氢的综合能源系统热电优化探索
  • 实测才敢推!8个一键生成论文工具:本科生毕业论文+开题报告写作全测评
  • 用过才敢说!千笔·专业论文写作工具,本科生论文救星!
  • 赶deadline必备!千笔ai写作,全网爆红的AI论文平台
  • 基于深度学习的夜间红外小目标检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
  • 新手也能上手!学生热捧的降AI率网站 —— 千笔·专业降AIGC智能体
  • 建议收藏|10个AI论文工具深度测评:专科生毕业论文+科研写作必备神器!
  • 互联网大厂Java面试实录:Spring Boot与微服务在电商场景中的应用
  • 深入浅出CopyOnWriteArrayList
  • 文章图库
  • 题解:AcWing 1016 最大上升子序列和
  • 少走弯路:降AIGC软件,专科生首选千笔AI VS Checkjie
  • 为什么我建议你建立内容资产而不是流量资产?
  • 2026/2/21 总结
  • 国产激光品牌深度测评:技术实力与市场表现全解读
  • Ora: ORA-28040-数据库不接受您的客户端的验证协议
  • 【系统分析师】9.6 安全管理措施
  • 06实战处理AI音乐技术详解第一阶段:频谱破坏·卓伊凡
  • 海康机器人3D 机器人引导 —— 空间基础篇一
  • 顶配纸尿裤推荐:2026年高端新生儿纸尿裤权威选购指南 - 速递信息
  • 从此告别拖延,AI论文写作软件 千笔AI VS 知文AI,专科生专属神器!
  • 摆脱论文困扰! 千笔AI VS 灵感ai,更贴合MBA的降AIGC工具
  • 2026冲刺用!AI论文平台 千笔AI VS PaperRed,专科生写作新选择!
  • 闭眼入!10个降AI率工具测评:本科生降AI率必备神器