【晴问算法】提高篇—动态规划专题—最长上升子序列
题目描述
现有一个整数序列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,求最长的子序列(可以不连续),使得这个子序列中的元素是非递减的。输出该最大长度。 输入描述 第一行一个正整数n(1≤n≤100),表示序…...
天软特色因子看板(2024.3第5期)
该因子看板跟踪天软特色因子A08006(近一月日度买卖压力2),该因子为近一个月个股每日的相对价格位置,用以刻画股票所受买卖压力,取作 介于0~1间,指标值越大,反映股票在价格相对高位停留的时间越长,所面临的买…...
静态网络配置
一、查看网络命令 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:程序更新说明(文末程序下载链接已更新) 版本:v1.0 → v1.2 ① 修复:将 CLOSED 表内容从优先级队列中分离开来,原优先级队列作 OPEN 表,并用链表树隐式地代替 CLOSED 表,以…...
Maven,pom.xml,查找 子jar包
在IDEA打开pom.xml,会看到这里: 然后如果有需要,把相关的 子jar包 去掉 <dependency><groupId>XXX</groupId><artifactId>XXX</artifactId><exclusions><exclusion><artifactId>xxx</a…...
MySQL中数据库表的监控
MySQL中数据库表的监控 (1)查看数据库中当前打开了哪些表:show OPEN TABLES ,如图6-1-5所示。另外,还可以通过show OPEN TABLES where In_use > 0过滤出当前已经被锁定的表。 查看数据库中表的状态:SHO…...
【S5PV210_视频编解码项目】裸机开发2:实现PWM波形驱动蜂鸣器
开发内容介绍 基于芯片自带的PWM定时器模块,实现对PWM波形的控制,掌握pwm定时器的驱动程序开发。 开发理论架构 1)pwm波形的产生的条件:在指定的IO口输出一定频率和占空比的波形 2)pwm波形频率的影响因素࿱…...
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.创建用户,用户名为user,user02密码均为123.com,创建完成后用tail查看用户是否存在。(截图)(10分) 2.在用户user主目录中用mkdir命令创建目录my.txt,在目录my.txt中创建文件a1.txt、1a1.txt、5…...
信息发布系统
特色功能 画布功能---可任意拖动各控件的播放位置及大小,可任意选择屏幕背景色或添加背景图 同步联屏---毫秒级同步功能 视频切换无黑屏 触摸查询系统 会议预定系统 终端显示-会议综合屏 终端显示-会议预定屏 终端显示-移动端 广告发布系统 硬件产品-智能终端 硬件…...
Dell Inspiron 戴尔灵越16plus7620升级M2硬盘
主机只支持一条M2硬盘,只能用更换更大容量硬盘的方式增加存储容量。 1、打开后盖,把新硬盘换上。旧硬盘装硬盘盒里,连上主机上。准备一个PE启动U盘, 2、开机不停地按F12,选U盘启动,进入PE,使用…...
视频怎么转mp4格式?分享3个宝藏方法,轻松学会
在当今数字化的时代,视频文件的格式多种多样,而MP4格式因其广泛的兼容性和高质量的压缩技术而备受青睐。然而,有时我们可能需要将其他格式的视频转换为MP4格式,以便在各种设备和平台上播放和分享视频。 在本文中,我们…...
Javascript 元二分搜索 | 单边二分查找(Meta Binary Search | One-Sided Binary Search)
元二分搜索(Steven Skiena 在《算法设计手册》第 134 页中也称为单边二分搜索)是二分搜索的一种修改形式,它以增量方式构建数组中目标值的索引。与普通二分搜索一样,元二分搜索需要 O(log n) 时间。 元二分搜索,也称为…...
柚见十三期(优化)
前端优化 加载匹配功能与加载骨架特效 骨架屏 : 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的核心命令和用法
学习目标: 理解Node.js和npm的概念及其在开发中的作用;掌握Node.js的核心命令,包括node、npm、npx等;学会使用node命令来执行JavaScript文件和模块;熟悉npm命令,包括安装、更新、卸载依赖包等操作…...
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对你的真实服务无任何侵入性支持容器部署,Docker Image 优化到不能再小(不到 9MB)GitHub:https://github.com/wengchaoxi/auth-proxy 效果 我在 http://lo…...
Docker 从0安装 nacos集群
前提条件 Docker支持一下的CentOs版本 Centos7(64-bit),系统内核版本为 3.10 以上Centos6.5(64-bit) 或者更高版本,系统内核版本为 2.6.32-431 或者更高版本 安装步骤 使用 yum 安装(CentOS 7下) 通过 uname -r 命令查看你当…...
keithley2612A数字源表
181/2461/8938产品概述: Keithley 2612A源表既可用作台式I-V表征工具,也可用作多通道I-V测试系统的构建模块组件。对于台式使用,吉时利2612ASourceMeter具有嵌入式TSP Express软件工具,允许用户快速轻松地执行常见的I-V测试&…...
AI助手 - 月之暗面 Kimi.ai
前言 这是 AI工具专栏 下的第四篇,这一篇所介绍的AI,也许是截至今天(204-03-19)国内可访问的实用性最强的一款。 今年年初,一直看到有人推荐 Kimi,不过面对雨后春笋般的各类品质的AI,说实话也有…...
Java的java.util.random高级控制
Java的java.util.Random高级控制:解锁随机数生成的奥秘 在编程中,随机数的生成是许多应用场景的核心需求,从游戏开发到密码学,再到模拟测试,Java的java.util.Random类提供了强大的随机数生成能力。仅仅使用nextInt()或…...
梯度增强物理信息神经网络 (gPINN)求解矩形薄板力学正反问题(Python代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
从航拍到模型:手把手教你用‘焦距’和‘像元尺寸’反算无人机航高(附Excel计算工具)
从航测参数到飞行方案:无人机航高计算的工程实践指南 当大疆M300RTK搭载P1全画幅相机盘旋在工地上空时,机载计算机显示的实时航高数字背后,隐藏着一套精密的计算逻辑。对于航测工程师而言,掌握从相机参数到飞行参数的转换能力&…...
私有化部署企业级融媒体平台EasyDSS三大核心技术解析,筑牢校园数字化建设根基
校园数字化建设的稳步推进,离不开核心技术的支撑。EasyDSS之所以能在校园场景中实现广泛应用,核心在于其高清直播、极速点播、视频会议三大领域的技术深耕,通过持续的技术优化与创新,打造出适配校园场景的高品质数字化服务&#x…...
NXP S32K的SIUL2模块详解:不止是GPIO,更是中断与DMA的枢纽
NXP S32K的SIUL2模块深度解析:从引脚路由到高效中断管理 在嵌入式系统开发中,GPIO管理往往被视为基础功能,但NXP S32K系列芯片中的SIUL2模块却颠覆了这一认知。作为System Integration Unit Lite2的缩写,SIUL2远不止是一个简单的G…...
手把手教你用奥比中光Gemini 335L和YOLOv8实现3D目标定位(附完整代码)
从2D到3D:基于Gemini 335L与YOLOv8的智能空间感知实战指南 当计算机视觉遇上深度感知,会碰撞出怎样的火花?想象一下,你的设备不仅能识别物体是什么,还能精确知道它离你有多远——这正是3D目标定位技术的魅力所在。本文…...
CESM2新手避坑指南:从create_newcase到case.submit的完整配置流程(附xmlquery/xmlchange详解)
CESM2实战避坑手册:从环境配置到任务提交的深度解析 刚接触CESM2的研究人员常常会在模型配置过程中遇到各种"坑"——从create_newcase的参数设置到xmlquery/xmlchange的灵活运用,再到npr_yz的任务数分配和最终case.submit的作业提交。本文将结…...
【2026年版|必收藏】从0到1!AI大模型保姆级学习路线(小白/程序员专属)
2026年,大模型已从实验室走向规模化落地,AI Agent(智能体)、多模态、世界模型成为行业核心热点,无论是零基础小白想入门AI赛道,还是程序员想转型大模型领域,一套系统、不踩坑的学习路线都至关重…...
不止是国产替代:聊聊openEuler在云原生和边缘计算里的那些‘黑科技’
不止是国产替代:openEuler在云原生与边缘计算中的技术突破 当开发者谈论现代操作系统时,往往聚焦于Linux内核的通用性,却忽略了不同场景下的特殊需求。openEuler正通过一系列技术创新,重新定义数字基础设施的操作系统体验。这不是…...
实战指南:如何用开源统计软件JASP提升数据分析效率
实战指南:如何用开源统计软件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…...
