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

乐清网站制作推荐建湖人才网最新招聘信息

乐清网站制作推荐,建湖人才网最新招聘信息,关键词竞价排名,网站优化流程前言:这个题目就是一个很经典的dp问题,之前做过类似的跳格子,这个题目如果用暴力的dp,那么复杂度就是 n ∗ k n*k n∗k 这个肯定是会超时的 题目链接 class Solution:def maxResult(self, nums: List[int], k: int) -> int:# …

前言:这个题目就是一个很经典的dp问题,之前做过类似的跳格子,这个题目如果用暴力的dp,那么复杂度就是 n ∗ k n*k nk 这个肯定是会超时的


题目链接

在这里插入图片描述

class Solution:def maxResult(self, nums: List[int], k: int) -> int:# 这个不就是一个dp,但是怎么能降低复杂度呢n = len(nums)dp = [-inf]*(n)dp[0] = nums[0]for i in range(n):for j in range(i+1,min(i+k+1,n)):dp[j] = max(dp[j],dp[i]+nums[j])# print(i,dp[i])return dp[-1]

如果我们用线段树来优化查询的话

class Tree:def __init__(self,n):self.t = [-inf]*(4*n)def update(self,o,l,r,index,va):if l==r:self.t[o] = vareturnmid = (l+r)//2if mid>=index:self.update(o*2,l,mid,index,va)else:self.update(o*2+1,mid+1,r,index,va)self.t[o] = max(self.t[o*2],self.t[o*2+1])def query(self,o,l,r,L,R):if L<=l and r<=R:return self.t[o]tmp = -infmid = (l+r)//2if mid>=L:tmp = max(tmp,self.query(o*2,l,mid,L,R))if mid<R:tmp = max(tmp,self.query(o*2+1,mid+1,r,L,R))return tmpclass Solution:def maxResult(self, nums: List[int], k: int) -> int:# 这个不就是一个dp,但是怎么能降低复杂度呢n = len(nums)dp = [-inf]*(n)dp[0] = nums[0]a = Tree(n)a.update(1,0,n-1,0,dp[0])for i in range(1,n):pre = a.query(1,0,n-1,max(0,i-k),i-1)dp[i] = pre + nums[i]a.update(1,0,n-1,i,dp[i])return dp[-1]

队列优化

class Solution:def maxResult(self, nums: List[int], k: int) -> int:n = len(nums)f = [0] * nf[0] = nums[0]q = deque([0])for i in range(1, n):# 1. 出if q[0] < i - k:q.popleft()# 2. 转移f[i] = f[q[0]] + nums[i]# 3. 入while q and f[i] >= f[q[-1]]:q.pop()q.append(i)return f[-1]

这个有点难以理解
在这里插入图片描述

http://www.dtcms.com/a/403116.html

相关文章:

  • AWS下载sentinel-2原始影像
  • docker-容器网络类型
  • MySQL 中使用索引
  • 双功能分子:NOTA Octreotide Acetate,NOTA-奥曲肽具有放射性金属螯合能力
  • 帆软FCP开发认证模拟第二题
  • 做网站打印费复印费清单中方建设局网站
  • PyTorch DataLoader 接受的返回值类型
  • rust slint android 安卓
  • 网站后台建设怎么进入超级优化小说
  • 游戏对象AI类型释义
  • Harnessing Text Insights with Visual Alignment for Medical Image Segmentation
  • 网上做网站 干对缝儿生意外贸网站推广优化
  • 【Java后端】MyBatis 和 MyBatis-Plus (MP) 的区别
  • iOS PPBluetoothKit接入无法找到头文件问题
  • leetcode orb slam3 3/99--> leetcode49 Group Anagrams
  • c# 读取xml到datagridview
  • 开源的 CSS 动画库
  • (三)过滤器及组件化开发
  • [NewBeeBox] A JavaScript error occurred in the main process
  • 【LangGraph】ReAct构建-LangGraph简单实现
  • 做毕业设计哪个网站好网站怎样做百度推广
  • Python高效合并Excel多Sheet工作表,告别繁琐手动操作
  • 自动跳转到wap网站外贸网站建设制作设计案例
  • 【Linux】 服务器无 sz 命令时的文件传输和日志查看方案
  • 【TVM 教程】设置 RPC 系统
  • 在ssh远程连接的autodl服务器(中国无root权限服务器)上使用copilt的Claude模型
  • Ansible 自动化运维:集中化管理服务器实战指南
  • 自动化运维工具 Ansible 集中化管理服务器
  • 【好玩的开源项目】使用Docker部署LMS轻量级音乐服务器
  • Netty从0到1系列之RPC通信