必威体育Betway必威体育官网
当前位置:首页 > IT技术

二分斜率

时间:2019-11-03 12:43:19来源:IT技术作者:seo实验室小编阅读:80次「手机版」
 

斜率

适用范围

对于某些2D\nD的dp,状态为dp[i][j]表示在i的时候选了j个东西的最优解,要求dp[n][m]。

分析

如果设F(m)=dp[n][m],如果F(m)是一个单峰函数(特别的,单调函数),那么我们设Cf(m)=F(m) - F(m-1) ,则Cf(m)是一个单调不降(不升)的函数,这个时候,我们从差分是离散的积分的观点来看,那么G(x)=F(x) - kx,当k=Cf(m)的时候,G(x)的最值在m处取到。

由于Cf单调,所以k也有单调性。基于此,我们可以得到一种做法:假若二分这个k,然后计算G(x)在什么地方取到最大值,然后就可以知道k应当向什么方向移动。

下面的问题是如何计算G(x)的最大值在什么时候取到。考虑横坐标的意义,是选取多少个数,那么 -kx 表示的是每选择一个,就要多付出k的代价。这样子就有了一个新的dp,dp’[n]表示在如上条件中取到的最优值以及此时选的个数。那么假如要多选一个数,就在之前的代价上多加一个k。这样子,就成功将一个m优化成了log。

细节

还要注意,由于斜率是单调不降的,所以可能有斜率相同的一部分,这个我们就钦定在答案最优的前提下尽量少选或多选数,这样可以得到斜率相同的一段的起点或者终点,然后就行了。

文章最后发布于: 2018-12-06 20:58:25

相关阅读

二分查找

一、什么是二分查找? 二分查找针对的是一个有序的数据集合,每次通过跟区间中间的元素对比,将待查找的区间缩小为之前的一半,直到找到

算法讲解:二分图匹配【图论】

二分图匹配,自然要先从定义入手,那么二分图是什么呢? 二分图: 二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如

二分法,三分法

二分法定义:在一个单调有序的集合中查找元素,每次将集合分为左右两部分,判断解在哪个部分中并调整集合上下界,重复直         

插入排序之二分法插入排序

简介 二分法插入排序没有排序,只有查找。所以当找到要插入的位置时。移动必须从最后一个记录开始,向后移动一位,再移动倒数第2位,直

python二分法查找

常见的搜索方法:顺序查找、二分法查找、二叉树查找、哈希查找。 二分法查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均

分享到:

栏目导航

推荐阅读

热门阅读