学习笔记——斜率优化 dp

本文介绍了斜率优化,这是单调队列优化的一种扩展,适用于处理包含i和j的dp公式。通过举例和图像解析,阐述了如何将dp式转换为斜率形式,并利用单调队列维护下凸包,实现O(1)的转移,从而解决动态规划问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引入

斜率优化,是单调队列优化的一个进阶版本,为了更好地理解,先来回顾一下单调队列吧~

所谓单调队列优化,就是对于形如:
d p i = max ⁡ { d p j + a j } dp_i=\max\{dp_j+a_j\} dpi=max{ dpj+aj}
d p dp dp 式,我们把所有的 d p j + a j dp_j+a_j dpj+aj 放进单调队列里,实现 O ( 1 ) O(1) O(1) 的转移。

这个时候,只有在式子中,每一项只有关于 j j j 或者只有关于 i i i 的。但是如果有这样一个式子:
d p i = max ⁡ { d p j + a j × a i } dp_i=\max\{dp_j+a_j\times a_i\} dpi=max{ dpj+aj×ai}
这时候,我们就不能只考虑 a j a_j aj,因为对于每个 i i i,其大小都是不同的。

流程

我们先来看一道例题:[HNOI2008]玩具装箱

我们很容易得到原始的 d p dp dp 式子, c i c_i ci 是前缀和:
d p i = d p j + ( c i + i − c j − j − 1 − L ) 2 dp_i=dp_j+(c_i+i-c_j-j-1-L)^2 dpi=dp

cda备考学习学习笔记——基础知识篇(二)主要涉及了计算机科学与技术领域的基本概念和知识。 首先,它介绍了计算机网络的基础知识。网络是将多台计算机通过通信链路连接起来,使它们能够相互通信和共享资源的系统。笔记中详细介绍了网络的组成、拓扑结构和通信协议等重要内容。 其次,笔记还解释了计算机系统的基本组成。计算机系统由硬件和软件两部分组成,其中硬件包括中央处理器、存储器、输入输出设备等,而软件则分为系统软件和应用软件。笔记详细介绍了各种硬件和软件的功能和作用。 此外,笔记还对数据库管理系统进行了介绍。数据库管理系统是一种用于管理和组织数据的软件系统,它能够实现数据的存储、检索和更新等操作。笔记中详细介绍了数据库的概念、结构和操作等内容。 最后,笔记还包括了算法和数据结构的基础知识。算法是解决问题的一系列步骤和规则,而数据结构则是组织和存储数据的方式。笔记中介绍了常用的算法和数据结构,如排序算法、树和图等。 总之,通过学习CDA备考学习笔记中的基础知识篇(二),我们能够更好地理解计算机网络、计算机系统、数据库管理系统以及算法和数据结构等相关概念和知识。这些基础知识对于我们深入研究计算机科学与技术领域是非常重要的,也为我们日后的学习和工作奠定了坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值