首页 > 其他分享 >最长上升子序列

最长上升子序列

时间:2024-06-02 20:03:45浏览次数:14  
标签:int max ++ ans 序列 上升 最长 dp

1.定义

最长上升子序列(Longest Increasing Subsequence,LIS)是指一个序列中最长的单调递增的子序列。(字面意思)

 

2.写法1(O(n^2))

 这种写法主要思路是单纯动态规划

代码如下

#include <iostream>

#define N 10000

using namespace std;

int a[N + 10] , dp[N + 10] , n , ans;

int main(){

    cin >> n;

    for(int i = 0 ; i < n ; i ++){

        cin >> a[i];

    }

    

    for(int i = 0 ; i < n ; i ++){

        dp[i] = 1;

        for(int j = 0 ; j < i ; j ++){

            if(a[j] < a[i])             //比较符号

                dp[i] = max(dp[i] , dp[j] + 1);

        }

        ans = max(ans , dp[i]);

    }

    

标签:int,max,++,ans,序列,上升,最长,dp
From: https://blog.csdn.net/Michael888888ha/article/details/139353519

相关文章

  • 有损线、上升边退化与材料特性(七)
    有损线的不良影响当信号沿着实际有损线传输时,高频分量的幅度减小,而低频分量的幅度保持不变。由于这个种选择性的衰减,信号的带宽降低,信号的上升边会增长。如果上升边的退化与单位间隔比很小,同位模式将比较稳定与前位波形无关。如果上升边的退化使接收到的上升边显著拉长到与单......
  • 反序列化魔术方法
    魔术方法成员属性变量和成员属性是一个东西__consrtuct构造方法在对象实例化时执行的方法__construct()只会在new一个对象时触发,serialiaze和unserialize都不会触发__destruct()析构函数__destruct()函数只会在序列化serialize()反序列化unserialize()和销毁一个对象时触......
  • phar反序列化例题
    [CISCN2019华北赛区Day1Web1]Dropbox目录穿越下载注册、登录,发现可文件上传。上传文件后发现可以下载或者删除,尝试上传php马但是发现都被过滤,抓包下载的选项。发现下载可能存在目录穿越。于是尝试../../index.php,发现可成功下载。于是将download.phpdelete.php下载,审源码......
  • 数据分析实战2---时间序列分析
    项目背景:本实训以自行车租赁统计数据为例,使用Pandas中的时间序列分析方法,探究自行车租赁数据随时间及天气变化的分布情况。采用的数据可在Kaggle网站(BikeSharingDemandStella|Kaggle)下载任务步骤:1.导入模块importpandasaspdimportnumpyasnpimportmatplotlib.......
  • 5.17反序列化
    1、原理序列化:对象状态-可存储或传输形式的过程,将状态信息保存为字符串;反序列化:序列化的字符串-对象;恶意代码注入到应用程序中,程序从不安全来源反序列化数据时,数据从一种格式(json、xml)转化为(对象或列表),如果不检查安全性,则攻击者构造恶意代码在数据,程序反序列化时,恶意代码执行......
  • 使用动态规划法求最大连续子序列和
    通过动态规划方法求最大连续子序列和问题描述:给定一个有n(n>=1)个整数的序列,求出其中最大连续子序列的和。如:{-2,11,-4,13,-5,-2},最大的连续子序列是:{11,-4,13}和为20。【规定】一个序列的最大连续子序列和至少是0,如果小于0,其结果为0。解法:使用一个整型数组arr[]来存......
  • 《探索时间序列预测——电力系统负荷预测之谜》
             下述链接均可点击跳转,手机端打开速度较慢!请耐心等待哦~专题推荐:论文推荐,代码分享,典藏级代码,视角(点击即可跳转)更新啦!高创新组合模型和算法典藏级matlab代码(电力系统优化和时间序列预测方向)倾情推送24.5.29【代码推荐购买指南】电力系统运行优化与规划、......
  • LeetCode 第14题:最长公共前缀题目解析(进阶版)
    本文我们来探索LeetCode第14题——最长公共前缀题目解析(进阶版)。文章目录引言题目介绍解题思路思路1:水平扫描法思路2:垂直扫描法思路3:分治法思路4:二分查找法思路5:字典树(Trie)水平扫描法详细解析步骤1:初始化前缀步骤2:逐个比较示例讲解Java代码实现图......
  • 3. 无重复字符的最长子串
    给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串  的长度。  示例 1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其......
  • 基于CNN+LSTM深度学习网络的时间序列预测matlab仿真,并对比CNN+GRU网络
    1.算法运行效果图预览  2.算法运行软件版本MATLAB2022A  3.算法理论概述      时间序列预测是数据分析中的一个重要分支,它涉及到对未来事件的预测,基于历史数据中的模式和趋势。在深度学习领域,卷积神经网络(CNN)和循环神经网络(RNN)的组合,特别是结合长短时记忆......