电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

单调性问题总结

单调性问题总结_第1页
1/6
单调性问题总结_第2页
2/6
单调性问题总结_第3页
3/6
DP 单调性问题总结罗梓璋单调性:单调性,意思是保持同样的趋向,单调递增或者单调递减。在 DP 中,很多情况下,原来是没有单调性的,但是删去不可能的决策之后,剩下的决策会呈现单调性。具有单调性的决策是有序的,最优决策可能直接在头或者尾 O(1)得到,也可以二分查找 O(logn)得到,总体比 O(n)寻找最有决策的时间要少很多。所以单调性可以解决的问题是:保留可能决策,快速寻找最优决策。单调队列:单调队列的本质是双端队列,单调队列的内部是单调的,新元素从队尾加入,假如新元素加入后不满足单调性,那么令原来队尾的元素出队,直到新元素加入后满足单调性或者队列空了。如单调递减队列原来是 5 2 1,加入一个元素 3,则队列为:5 3。单调队列的开头元素在不满足条件时出队。(另外一种加入元素的可能是,二分查找合适的位置,代替原来的元素,但是不能直接插入元素,在某些题目可能有。例如上面的例子为:5 3 1 或 3 2 1,视具体情况。)单调队列是最简单的处理单调性问题的数据结构,最大的用处是:维护区间最值。维护区间最值的要求是,区间的移动方向固定。(要保证队首不加入元素。)既然区间移动方向固定,那么可以区间每移动一个单位,那么多了一个新的元素,少了一个旧的元素。新的元素一定在最后,旧的元素一定在最前。假如队首的元素已经离开了区间,那么让它出队。我们考虑两个元素 A 和 B,B 比 A 优,而且 B 在 A 的后面,因为 A 比 B 先离开区间,所以有 B 在 A 永远也不可能是最值了。所以新的元素加入队列后,假如队列队尾的元素不如新的元素优,那么就可以删除掉队尾原来的元素,直到队尾的元素比新元素优,才把新的元素加入队尾。我们发现这样的队列和单调队列完全符合,队列中前一个元素一定比后一个优,满足单调性,而且模型也一样。这样区间最值一定是队首的元素,可以 O(1)求出区间最值。能用单调队列解决的问题有一个特性:两个元素哪个比较优是可以只用它们本身就可以推断的,假如推断哪个比较优与当前状态有关,那么假如随着状态改变两个元素的优劣颠倒了, 单调队列就失去了作用。斜率优化:斜率优化解决的问题是:在只用两个元素本身信息的情况下,如何比较这两个元素的优劣。关键问题:分离参数。步骤如下:写出转移方程,形式如:J1J1J2J3J2其中 f 是最优结果,g(i)和 h(i)是只与 i 有关的函数,x(j)、t(j)是只与 j 有关的函数。(假如还有常数基本上都可以归纳...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

单调性问题总结

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部