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

【晴问算法】提高篇—动态规划专题—最长上升子序列

题目描述

现有一个整数序列a1,a2,...,an​​​​​​,求最长的子序列(可以不连续),使得这个子序列中的元素是非递减的。输出该最大长度。

输入描述

第一行一个正整数n(1≤n≤100​​​​),表示序列长度;

第二行为用空格隔开的n​个整数ai​(−10^5≤ai≤10^5​​),表示序列元素。

输出描述

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

样例1

输入

7

1 2 3 -1 -2 7 9

输出

5

解释

最长上升子序列为1 2 3 7 9,长度为5

#include<bits/stdc++.h>
using namespace std;
const int MAXN = 100;
int dp[MAXN];//dp[i]表示以a[i]元素为结尾的最大连续子序列和
int a[MAXN];//存放序列元素int main(){int n;//序列长度cin >> n;for(int i=0;i<n;i++){cin >> a[i];}dp[0] = 1;for(int i=1;i<n;i++){//对于每个位置i,要找到以a[i]结尾的最长递增子序列长度dp[i]dp[i] = 1;//初始化为1,因为至少可以构成一个长度为1的子序列for(int j=0;j<i;j++){//检查是否可以将a[i]加入到以a[j]结尾的递增子序列中if(a[i] > a[j]){//说明a[i]可以接在以a[j]结尾后dp[i] = max(dp[j] + 1,dp[i]);//dp[j]+1表示接在了以a[j]结尾的子序列长度,更新以a[i]结尾的子序列长度}}}int ans = 1;for(int i=1;i<n;i++){//不是输出最后一个dp元素,因为最后一个元素不一定在递增子序列中if(ans < dp[i]){//遍历寻找以a[i]结尾最大的子序列ans = dp[i];}}printf("%d",ans);return 0;
}

相关文章:

【晴问算法】提高篇—动态规划专题—最长上升子序列

题目描述 现有一个整数序列a1,a2,...,an​​​​​​&#xff0c;求最长的子序列&#xff08;可以不连续&#xff09;&#xff0c;使得这个子序列中的元素是非递减的。输出该最大长度。 输入描述 第一行一个正整数n&#xff08;1≤n≤100​​​​&#xff09;&#xff0c;表示序…...

天软特色因子看板(2024.3第5期)

该因子看板跟踪天软特色因子A08006(近一月日度买卖压力2)&#xff0c;该因子为近一个月个股每日的相对价格位置&#xff0c;用以刻画股票所受买卖压力&#xff0c;取作 介于0~1间&#xff0c;指标值越大&#xff0c;反映股票在价格相对高位停留的时间越长&#xff0c;所面临的买…...

静态网络配置

一、查看网络命令 1.命令行查看网络配置 1、查看ip\硬件设备-网卡 ifconfig -a ifconfig ens160 网卡名称 ip addr show ip addr show ens160 nmcli device show ens160 nmcli con up ens160 2、主机名称 hostname hostname hfj.huaxia.com 3、查看路由和网关 rou…...

多种智能搜索算法可视化还原 3D 魔方

2024/03/19&#xff1a;程序更新说明&#xff08;文末程序下载链接已更新&#xff09; 版本&#xff1a;v1.0 → v1.2 ① 修复&#xff1a;将 CLOSED 表内容从优先级队列中分离开来&#xff0c;原优先级队列作 OPEN 表&#xff0c;并用链表树隐式地代替 CLOSED 表&#xff0c;以…...

Maven,pom.xml,查找 子jar包

在IDEA打开pom.xml&#xff0c;会看到这里&#xff1a; 然后如果有需要&#xff0c;把相关的 子jar包 去掉 <dependency><groupId>XXX</groupId><artifactId>XXX</artifactId><exclusions><exclusion><artifactId>xxx</a…...

MySQL中数据库表的监控

MySQL中数据库表的监控 &#xff08;1&#xff09;查看数据库中当前打开了哪些表&#xff1a;show OPEN TABLES &#xff0c;如图6-1-5所示。另外&#xff0c;还可以通过show OPEN TABLES where In_use > 0过滤出当前已经被锁定的表。 查看数据库中表的状态&#xff1a;SHO…...

【S5PV210_视频编解码项目】裸机开发2:实现PWM波形驱动蜂鸣器

开发内容介绍 基于芯片自带的PWM定时器模块&#xff0c;实现对PWM波形的控制&#xff0c;掌握pwm定时器的驱动程序开发。 开发理论架构 1&#xff09;pwm波形的产生的条件&#xff1a;在指定的IO口输出一定频率和占空比的波形 2&#xff09;pwm波形频率的影响因素&#xff1…...

js进阶-深入对象-内置构造函数-包装类

一. 创建对象的三种方式 1.1 利用对象字面量创建对象 const p {name:"kebi" }1.2 利用 new Object 创建对象 // const obj new Object()// obj.uname maidi// console.log(obj)const obj new Object({ uname: maidi })1.3 利用构造函数创建对象 大写字母开头的…...

Linux作业

1.创建用户&#xff0c;用户名为user&#xff0c;user02密码均为123.com&#xff0c;创建完成后用tail查看用户是否存在。&#xff08;截图&#xff09;&#xff08;10分&#xff09; 2.在用户user主目录中用mkdir命令创建目录my.txt,在目录my.txt中创建文件a1.txt、1a1.txt、5…...

信息发布系统

特色功能 画布功能---可任意拖动各控件的播放位置及大小&#xff0c;可任意选择屏幕背景色或添加背景图 同步联屏---毫秒级同步功能 视频切换无黑屏 触摸查询系统 会议预定系统 终端显示-会议综合屏 终端显示-会议预定屏 终端显示-移动端 广告发布系统 硬件产品-智能终端 硬件…...

Dell Inspiron 戴尔灵越16plus7620升级M2硬盘

主机只支持一条M2硬盘&#xff0c;只能用更换更大容量硬盘的方式增加存储容量。 1、打开后盖&#xff0c;把新硬盘换上。旧硬盘装硬盘盒里&#xff0c;连上主机上。准备一个PE启动U盘&#xff0c; 2、开机不停地按F12&#xff0c;选U盘启动&#xff0c;进入PE&#xff0c;使用…...

视频怎么转mp4格式?分享3个宝藏方法,轻松学会

在当今数字化的时代&#xff0c;视频文件的格式多种多样&#xff0c;而MP4格式因其广泛的兼容性和高质量的压缩技术而备受青睐。然而&#xff0c;有时我们可能需要将其他格式的视频转换为MP4格式&#xff0c;以便在各种设备和平台上播放和分享视频。 在本文中&#xff0c;我们…...

Javascript 元二分搜索 | 单边二分查找(Meta Binary Search | One-Sided Binary Search)

元二分搜索&#xff08;Steven Skiena 在《算法设计手册》第 134 页中也称为单边二分搜索&#xff09;是二分搜索的一种修改形式&#xff0c;它以增量方式构建数组中目标值的索引。与普通二分搜索一样&#xff0c;元二分搜索需要 O(log n) 时间。 元二分搜索&#xff0c;也称为…...

柚见十三期(优化)

前端优化 加载匹配功能与加载骨架特效 骨架屏 : vant-skeleton index.vue中 /** * 加载数据 */ const loadData async () > { let userListData; loading.value true; //心动模式 if (isMatchMode.value){ const num 10;//推荐人数 userListData await myA…...

Node.js常用命令:了解Node.js的核心命令和用法

学习目标&#xff1a; 理解Node.js和npm的概念及其在开发中的作用&#xff1b;掌握Node.js的核心命令&#xff0c;包括node、npm、npx等&#xff1b;学会使用node命令来执行JavaScript文件和模块&#xff1b;熟悉npm命令&#xff0c;包括安装、更新、卸载依赖包等操作&#xf…...

QT 驾校系统界面布局编写

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);this->resize(ui->label_img->width(),ui->label_img->height());//图片自适应窗口大小ui->label_img->setScaledContents(true);//图片置…...

【Auth Proxy】为你的 Web 服务上把锁

Auth Proxy 一个极简的用于 Web 服务鉴权的反向代理服务 极其简约的 UI对你的真实服务无任何侵入性支持容器部署&#xff0c;Docker Image 优化到不能再小&#xff08;不到 9MB&#xff09;GitHub&#xff1a;https://github.com/wengchaoxi/auth-proxy 效果 我在 http://lo…...

Docker 从0安装 nacos集群

前提条件 Docker支持一下的CentOs版本 Centos7(64-bit)&#xff0c;系统内核版本为 3.10 以上Centos6.5(64-bit) 或者更高版本&#xff0c;系统内核版本为 2.6.32-431 或者更高版本 安装步骤 使用 yum 安装&#xff08;CentOS 7下&#xff09; 通过 uname -r 命令查看你当…...

keithley2612A数字源表

181/2461/8938产品概述&#xff1a; Keithley 2612A源表既可用作台式I-V表征工具&#xff0c;也可用作多通道I-V测试系统的构建模块组件。对于台式使用&#xff0c;吉时利2612ASourceMeter具有嵌入式TSP Express软件工具&#xff0c;允许用户快速轻松地执行常见的I-V测试&…...

AI助手 - 月之暗面 Kimi.ai

前言 这是 AI工具专栏 下的第四篇&#xff0c;这一篇所介绍的AI&#xff0c;也许是截至今天&#xff08;204-03-19&#xff09;国内可访问的实用性最强的一款。 今年年初&#xff0c;一直看到有人推荐 Kimi&#xff0c;不过面对雨后春笋般的各类品质的AI&#xff0c;说实话也有…...

Java的java.util.random高级控制

Java的java.util.Random高级控制&#xff1a;解锁随机数生成的奥秘 在编程中&#xff0c;随机数的生成是许多应用场景的核心需求&#xff0c;从游戏开发到密码学&#xff0c;再到模拟测试&#xff0c;Java的java.util.Random类提供了强大的随机数生成能力。仅仅使用nextInt()或…...

梯度增强物理信息神经网络 (gPINN)求解矩形薄板力学正反问题(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

从航拍到模型:手把手教你用‘焦距’和‘像元尺寸’反算无人机航高(附Excel计算工具)

从航测参数到飞行方案&#xff1a;无人机航高计算的工程实践指南 当大疆M300RTK搭载P1全画幅相机盘旋在工地上空时&#xff0c;机载计算机显示的实时航高数字背后&#xff0c;隐藏着一套精密的计算逻辑。对于航测工程师而言&#xff0c;掌握从相机参数到飞行参数的转换能力&…...

私有化部署企业级融媒体平台EasyDSS三大核心技术解析,筑牢校园数字化建设根基

校园数字化建设的稳步推进&#xff0c;离不开核心技术的支撑。EasyDSS之所以能在校园场景中实现广泛应用&#xff0c;核心在于其高清直播、极速点播、视频会议三大领域的技术深耕&#xff0c;通过持续的技术优化与创新&#xff0c;打造出适配校园场景的高品质数字化服务&#x…...

NXP S32K的SIUL2模块详解:不止是GPIO,更是中断与DMA的枢纽

NXP S32K的SIUL2模块深度解析&#xff1a;从引脚路由到高效中断管理 在嵌入式系统开发中&#xff0c;GPIO管理往往被视为基础功能&#xff0c;但NXP S32K系列芯片中的SIUL2模块却颠覆了这一认知。作为System Integration Unit Lite2的缩写&#xff0c;SIUL2远不止是一个简单的G…...

手把手教你用奥比中光Gemini 335L和YOLOv8实现3D目标定位(附完整代码)

从2D到3D&#xff1a;基于Gemini 335L与YOLOv8的智能空间感知实战指南 当计算机视觉遇上深度感知&#xff0c;会碰撞出怎样的火花&#xff1f;想象一下&#xff0c;你的设备不仅能识别物体是什么&#xff0c;还能精确知道它离你有多远——这正是3D目标定位技术的魅力所在。本文…...

CESM2新手避坑指南:从create_newcase到case.submit的完整配置流程(附xmlquery/xmlchange详解)

CESM2实战避坑手册&#xff1a;从环境配置到任务提交的深度解析 刚接触CESM2的研究人员常常会在模型配置过程中遇到各种"坑"——从create_newcase的参数设置到xmlquery/xmlchange的灵活运用&#xff0c;再到npr_yz的任务数分配和最终case.submit的作业提交。本文将结…...

【2026年版|必收藏】从0到1!AI大模型保姆级学习路线(小白/程序员专属)

2026年&#xff0c;大模型已从实验室走向规模化落地&#xff0c;AI Agent&#xff08;智能体&#xff09;、多模态、世界模型成为行业核心热点&#xff0c;无论是零基础小白想入门AI赛道&#xff0c;还是程序员想转型大模型领域&#xff0c;一套系统、不踩坑的学习路线都至关重…...

不止是国产替代:聊聊openEuler在云原生和边缘计算里的那些‘黑科技’

不止是国产替代&#xff1a;openEuler在云原生与边缘计算中的技术突破 当开发者谈论现代操作系统时&#xff0c;往往聚焦于Linux内核的通用性&#xff0c;却忽略了不同场景下的特殊需求。openEuler正通过一系列技术创新&#xff0c;重新定义数字基础设施的操作系统体验。这不是…...

实战指南:如何用开源统计软件JASP提升数据分析效率

实战指南&#xff1a;如何用开源统计软件JASP提升数据分析效率 【免费下载链接】jasp-desktop JASP aims to be a complete statistical package for both Bayesian and Frequentist statistical methods, that is easy to use and familiar to users of SPSS 项目地址: http…...