各种DP的总结
By SemiWaker
定义s
为了防止表述不清
哪些算DP?有选择的递推。
但是很多叫做DP的东西其实就是递推,所以不做区分。DP要做什么?
求目标函数的最值。怎么做?
划分阶段,每个阶段进行满足最优子结构的决策。
换句话说,记忆化搜索,正过来做看起来就是DP
难求的目标函数
目标:把难求的目标函数转换为易求的。
平均数
设a¯是ai数列的平均数。
现在要选一些ai使得a¯最大。
选ai的规则具体根据题目,下同。
由a¯=∑ain
把n取出,枚举n(或者题目规定了n),变为求ai的和最大。
特定情况下n可以二分,因为n越小越好。(最优情况下平均数肯定只选最大的一个数,但是题目肯定有限制。)方差
求max∑i=1n(ai−a¯)2
通常会知道n。
方法:
1、枚举总和。设总和为S,总和一定的时候,a¯也一定,把a¯当成常数去做DP即可。这种情况下,总和S不用作为状态,因为选出来的ai总和不必一定为S。由(ai−a¯)2<(ai+x−a<

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

164

被折叠的 条评论
为什么被折叠?



