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

题解:AcWing 896 最长上升子序列 II

【题目来源】

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

【题目描述】

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

【输入】

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

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

【输出】

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

【输入样例】

7
3 1 2 1 8 5 6

【输出样例】

4

【解题思路】

image

image

【算法标签】

《AcWing 896 最长上升子序列II》 #贪心#

【代码详解】

// 引入所有标准库头文件,方便使用各种标准库功能
#include <bits/stdc++.h>// 使用标准命名空间,避免每次使用标准库函数时都需要加 std:: 前缀
using namespace std;// 定义常量
const int N = 100010;  // 数组最大长度为100010// 定义全局变量
int n;                 // n: 输入序列的长度
int a[N];              // a[N]: 存储输入的整数序列
int q[N];              // q[i]: 表示上升子序列长度为 i 时,序列末端的最小值// 主函数,程序的入口点
int main()
{// 读取序列的长度 ncin >> n;// 循环读取序列中的每个元素,并存储到数组 a[i] 中for (int i = 0; i < n; i++)cin >> a[i];  // 读入序列// 初始化已经求出的最大上升子序列长度为 0int len = 0;  // 已经求出的最大上升子序列长度// 动态规划结合二分查找,计算最长上升子序列的长度for (int i = 0; i < n; i++) {// 初始化二分查找的左右边界int l = 0, r = len;// 使用二分查找确定当前元素 a[i] 可以放置的上升子序列位置while (l < r) {// 计算中间位置,防止漏掉 mid,需要 +1int mid = (l + r + 1) / 2;// 如果 q[mid] 小于 a[i],说明 a[i] 可以接在长度为 mid 的子序列后面if (q[mid] < a[i])l = mid;  // 更新左边界为 midelser = mid - 1;  // 否则,更新右边界为 mid - 1}// 将当前元素 a[i] 放置在上升子序列长度为 r + 1 的位置,更新 q[r + 1]q[r + 1] = a[i];// 更新已经求出的最大上升子序列长度len = max(len, r + 1);}// 输出最长上升子序列的长度cout << len << endl;// 程序正常结束,返回 0return 0;
}

【运行结果】

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

相关文章:

  • 税务
  • 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率必备神器
  • 基于SIMULINK的避雷器阻性电流提取与仿真分析模型
  • 在Linux小主机上,搭建Samba服务器,Windows添加网络位置读写