HJ103 Redraiment的走法

题目:

HJ103 Redraiment的走法

题解:

dfs 暴力搜索

  1. 枚举数组元素,作为起点
  2. 如果后续节点大于当前节点,继续向后搜索
  3. 记录每个起点的结果,求出最大值
    public int getLongestSub(int[] arr) {int max = 0;for (int i = 0; i < arr.length; i++) {int number = dfsForGetLongestSub(arr, i);max = Math.max(max, number);}return max;}public int dfsForGetLongestSub(int[] arr, int start) {if (start > arr.length) {return 0;}int max = 1;for (int i = start+1; i < arr.length; i++) {if (arr[i] > arr[start]) {max = Math.max(max, dfsForGetLongestSub(arr, i) + 1);}}return max;}

时间复杂度:O(n*2^{n})

动态规划

求取最长递增子序列。

设dp[i]表示以i为终点能走的最大步数,当 j < i 时:

  • 如果arr[j] < arr[i] 证明可以从 j 跳到 i ,那么dp[i] = dp[j] + 1
  • 如果arr[j] >= arr[i] 证明无法从 j 跳到 i ,那么dp[i] = dp[i] 

由此可得dp方程,dp[i] = max(dp[i], dp[j]+1)。

dp方程初始化:如果不能调到任何的桩,那么只能在起点,所以初始化 dp[1-n] = 1。

    public int getLongestSub(int[] arr) {int[] dp = new int[arr.length];int max = 0;Arrays.fill(dp, 1);for (int i = 1; i < arr.length; i++)for (int j = 0; j < i; j++) {if (arr[j] < arr[i]) {dp[i] = Math.max(dp[i], dp[j] + 1);max = Math.max(max, dp[i]);}}return max;}

时间复杂度:O(n^{2})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/214226.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL语言重温

数据库语言重温 笔记背景SQL教程一些最重要的 SQL 命令SQL WHERE 子句SQL AND & OR 运算符SQL ORDER BY 关键字 笔记背景 由于工作需要&#xff0c;现重温简单SQL语言&#xff0c;笔记记录如下。 SQL教程 SQL&#xff08;Structured Query Language:结构化查询语言&…

基于ssm在线云音乐系统的设计与实现论文

摘 要 随着移动互联网时代的发展&#xff0c;网络的使用越来越普及&#xff0c;用户在获取和存储信息方面也会有激动人心的时刻。音乐也将慢慢融入人们的生活中。影响和改变我们的生活。随着当今各种流行音乐的流行&#xff0c;人们在日常生活中经常会用到的就是在线云音乐系统…

什么是高防IP,高防IP该如何选择。

高防IP&#xff0c;指的是高防御能力的IP地址。在互联网的世界里&#xff0c;网络安全问题成为一个重要的话题。作为一个用户&#xff0c;你是否曾遇到过被黑客攻击造成的网站瘫痪、信息泄露等问题&#xff1f;如果你是一个企业&#xff0c;你是否考虑过自己公司的网站和业务的…

智慧城市是什么?为什么要建智慧城市?

智慧城市是一个通过现代科技手段推动城市管理和服务创新的概念。 具体来说&#xff0c;它利用信息技术和创新概念&#xff0c;将城市的各个系统和服务集成起来&#xff0c;以提升城市运行效率、优化城市管理和服务&#xff0c;改善市民的生活质量。 为什么要建智慧城市呢&…

彻底解决公网ip无法访问服务器的问题

用服务器的公网ip访问突然提示页面无法访问了&#xff0c;之前还是ok的&#xff1a; 解决方案&#xff1a; 步骤1. 检查云服务器的安全组规则是否有添加80端口映射&#xff0c;如果没有需要手动添加&#xff0c;否则不能使用公网访问&#xff0c;检查了一下是有的&#xff1…

【langchain实战】开源项目-RasaGPT

1、概述 RasaGpt是一个建立在 Rasa 和 Langchain 之上的没有显示界面的LMM聊天机器人平台。它是一个Rasa和Telegram这种利用像Langchain这样的LMM库进行索引、检索和上下文注入的样板及参考实现。 开源地址&#xff1a; GitHub - paulpierre/RasaGPT: &#x1f4ac; RasaGPT is…

svn使用步骤

服务器端主要用来创建仓库&#xff0c;然后供客户端去访问与下载。 客户端&#xff1a; 图形化界面的使用&#xff1a;这里使用的是tortoise工具 1.创建一个文件夹作为自己的本地仓库目录 2.鼠标右键文件夹&#xff0c;在菜单中点击SVN checkout 3.找个图 这一步骤相当于git中…

pytorch中的transpose用法

注意&#xff1a;维数从0开始&#xff0c;0维 1维2维…,负数代表从右往左数&#xff0c;-1代表第一维&#xff0c;以此类推 import torch import numpy as np# 创建一个二维数组 arr torch.tensor([[[1, 2],[3, 4]],[[5, 6],[7, 8]]]) print("原始数组&#xff1a;"…

在linux上如何运用虚拟数据优化器VDO

本章主要介绍虚拟化数据优化器。 什么是虚拟数据优化器VDO 创建VDO设备以节约硬盘空间 16.1 了解什么是VDO VDO全称是Virtual Data Optimize&#xff08;虚拟数据优化)&#xff0c;主要是为了节省硬盘空间。 现在假设有两个文件file1和 file2&#xff0c;大小都是10G。file…

Windows 安全基础——Windows WPAD篇

Windows 安全基础——Windows WPAD篇 WPAD全称Web Proxy Auto-Discovery Protocol&#xff0c; 也就是Web代理自动发现协议。&#xff08;这里的代理就是我们在渗透中使用BURP的时候修改的代理设置。&#xff09;它的作用是让局域网浏览器自动发现内网中的代理服务器&#xff…

高效利用内存资源之动态内存管理详解

目录 一、为什么存在动态内存分配 二、动态内存函数的介绍 2.1malloc 2.2free 2.3calloc 2.4realloc 三、常见的动态内存错误 3.1对NULL指针的解引用操作 3.2对动态开辟空间的越界访问 3.3对非动态开辟内存使用free释放 3.4使用free释放一块动态开辟内存的一部分 3.…

RocketMq集成SpringBoot(待完善)

环境 jdk1.8, springboot2.7.3 Maven依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.3</version><relativePath/> <!-- lookup parent from…

读书笔记:《股票量化交易的七个策略》

从长远来看&#xff0c;基本面最重要&#xff1b;从短期来看&#xff0c;价格和情绪最重要。在别人贪婪时恐惧&#xff0c;在别人恐惧时贪婪。 相对强弱指数策略【趋势反转】 相对强弱指数&#xff08;Relative Strength Index&#xff0c;RSI&#xff09; RSI的取值范围在0到…

机器学习基本概念介绍 2023

笔记来源于&#xff1a; https://www.youtube.com/watch?vphQK8xZpgoU&t172s https://www.youtube.com/watch?vXLyPFnephpY&t645s Machine/Deep Learning 机器学习概况来说&#xff0c;让机器具备自动找函式的能力 &#xff08;Machine Learning 约等于 Looking …

[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-6复数Complex Number

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-数学基础Ch0-6复数Complex Number x 2 − 2 x 2 0 ⇒ x 1 i x^2-2x20\Rightarrow x1\pm i x2−2x20⇒x1i 代数表达&#xff1a; z a b i , R e ( z ) a , I m ( z ) b zabi,\mathrm{Re}…

Vue脚手架 生命周期 组件化开发

Vue脚手架 & 生命周期 & 组件化开发 一、今日目标 1.生命周期 生命周期介绍生命周期的四个阶段生命周期钩子声明周期案例 2.综合案例-小黑记账清单 列表渲染添加/删除饼图渲染 3.工程化开发入门 工程化开发和脚手架项目运行流程组件化组件注册 4.综合案例-小兔…

计算机网络之IP篇

来源自小林Coding博客&#xff0c;阅读后部分精简笔记 目录 一、IP 的基本认识 二、DNS 三、ARP 四、DHCP 五、NAT 六、ICMP 七、IGMP 七、ping 的工作原理 ping-----查询报文的使用 traceroute —— 差错报文类型的使用 八、断网了还能 ping 通 127.0.0.1 吗&…

十一、了解分布式计算

1、什么是&#xff08;数据&#xff09;计算&#xff1f; 2、分布式(数据)计算 &#xff08;1&#xff09;概念 顾名思义&#xff0c;分布式计算&#xff0c;即以分布式的形式完成数据的统计&#xff0c;得到需要的结果。 分布式数据计算&#xff0c;顾名思义&#xff0c;就是…

基于PLC的锅炉燃烧控制系统设计 (论文+源码)

1.系统设计 由图3.1可以看出&#xff0c;煤炭进入煤炭输送装置&#xff0c;直接落入缓慢移动的炉排中的燃烧室。对流烟道被烟雾隔离。对流烟道设置有加热表面&#xff0c;例如对流管束。对流管是连接到上部和下部气缸的一束管。管道中的水吸收烟道中的热量并加热。在上鼓中加热…

VINS-MONO代码解读5----vins_estimator(marginalization部分)

文章目录 0. 前言1.1 Marginalization Pipiline 1. marg factor构建1.1 变量及维度理解1.2 IMUFactor1.3 ProjectionTdFactor(ProjectionFactor)1.4 MarginalizationFactor( e p e_p ep​推导更新&#xff0c;FEJ解决的问题)1.4.1 先验残差的更新1.4.2 先验Jacobian的更新 2. R…