各种DP的总结

本文由SemiWaker撰写,详细总结了动态规划(DP)的各种定义、目标函数转换、不同类型的背包问题、仙人掌上的DP应用、表示方法优化、转移的单调性优化以及各种DP技巧,旨在深入理解DP及其应用场景。

各种DP的总结

By SemiWaker

定义s

为了防止表述不清

  • 哪些算DP?有选择的递推。
    但是很多叫做DP的东西其实就是递推,所以不做区分。

  • DP要做什么?
    求目标函数的最值。

  • 怎么做?
    划分阶段,每个阶段进行满足最优子结构的决策。
    换句话说,记忆化搜索,正过来做看起来就是DP


难求的目标函数

  • 目标:把难求的目标函数转换为易求的。

  • 平均数
    a¯ai数列的平均数。
    现在要选一些ai使得a¯最大。
    ai的规则具体根据题目,下同。
    a¯=ain
    把n取出,枚举n(或者题目规定了n),变为求ai的和最大。
    特定情况下n可以二分,因为n越小越好。(最优情况下平均数肯定只选最大的一个数,但是题目肯定有限制。)

  • 方差

    maxi=1n(aia¯)2

    通常会知道n。
    方法:
    1、枚举总和。设总和为S,总和一定的时候,a¯也一定,把a¯当成常数去做DP即可。这种情况下,总和S不用作为状态,因为选出来的ai总和不必一定为S。由(aia¯)2<(ai+xa<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值