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

队列优化dp || 线段树优化dp

前言:这个题目就是一个很经典的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]

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

相关文章:

  • 探索豆包WEB/PC超能创意1.0:创意新利器的全面解析
  • 【力扣/代码随想录】哈希表
  • DTO,VO,PO,Entity
  • shell(4)
  • Linux环境变量的作用以及进程的虚拟地址原理
  • 关于php-fpm的调优和配置
  • [官方 IP] XPM_CDC
  • Origin绘图——多标签散点图优化(蜂群图)
  • C#里创建一个TCP客户端连接类
  • FastGPT部署的一些问题整理
  • 第一个机器人程序
  • 大厂Java面试深度解析:Dubbo服务治理、WebSocket实时通信、RESTEasy自定义注解与C3P0连接池配置实践
  • 【AI面试准备】语言模型、语音、多模态等模型能力评估指标和能力边界
  • 制作一款打飞机游戏31:敌人数据库
  • MIT6.S081 - Lab11 networking(网络栈)
  • MyBatis 使用 POJO 参数动态查询教程
  • 从零搭建体育比分网站:技术选型与API调用实战(附完整源码)
  • 解锁植被参数反演密码:AI 与 Python 的融合之道
  • Andorid车机UI适配,AndroidUI图px的单位,如何适配1920x720,PPI100的屏幕设备
  • X11VNC远程屏幕连接了解一下
  • “五一”假期逛上海车展请提前购票,展会现场不售当日票
  • 向总书记汇报具身智能发展的“稚辉君”:从期待到兴奋再到备受鼓舞
  • 交通运输部:预计今年五一假期全社会跨区域人员流动量将再创新高
  • 哈莉·贝瑞、洪常秀等出任戛纳主竞赛单元评委
  • 港交所与香港证监会就“中概股回流意向”已与部分相关企业进行接触
  • 石家庄:城市更新,生活向美