二分队列+决策单调性优化dp:P6246

https://www.luogu.com.cn/problem/P6246

决策单调性

若 d p i dp_i dpi 由 j j j 转移,则 d p i + 1 dp_{i+1} dpi+1 转移点 k k k 满足 k ≥ j k\ge j k≥j

发现决策点满足单调,但遍历的点不满足单调,不能用双指针,考虑二分队列。

二分队列

假设前 i i i 个已定,只考虑从前转移到后,当前后面那一段必然会分成很多段,段与段直接的转移点必然是单调递增的。

后面的我们可以考虑用单调队列维护。

当加入新决策点 i + 1 i+1 i+1 时,必然是先pop掉尾部一些区间,然后再和当前最末尾的一个共享一个区间


找端点可以二分。

相关推荐
longlongzihan2 天前
LeetCode 1004.最大连续1的个数III 滑动窗口及动态规划题解
c++·算法·leetcode·dp·滑动窗口
惆怅客1235 天前
UVa11640 Mayor Election
dp·fft·icpc·uva·生成函数的乘法
语戚17 天前
力扣 1621. 大小为K的不重叠线段的数目:动态规划(Java 实现)
java·算法·leetcode·动态规划·力扣·dp
Tisfy17 天前
LeetCode 1477.找两个和为目标值且不重叠的子数组:滑动窗口 + 记录前值(动态规划)
动态规划·题解·dp·滑动窗口
Tisfy19 天前
LeetCode 2472.不重叠回文子字符串的最大数目:动态规划(贪心)
动态规划·字符串·题解·贪心·dp·回文字符串
a187927218311 个月前
【算法】动态规划第四篇:背包收官——min 哨兵、计数世界与组合排列分水岭
算法·leetcode·动态规划·dp·01背包·算法讲解·决策合并
a187927218311 个月前
【算法】动态规划第三篇:背包第一课——贪心之死与正序倒序开关
算法·leetcode·动态规划·贪心·dp·暴力·算法讲解
a187927218311 个月前
【算法】动态规划第五篇:区间 DP——从“看什么都像背包“到“最后戳谁“
算法·leetcode·动态规划·dp·区间·区间dp·算法讲解
a187927218311 个月前
【算法】动态规划第二篇:双序列 DP 三课——继承、计步与断链
算法·leetcode·动态规划·dp·回溯·暴力·算法讲解
a187927218311 个月前
【算法】动态规划入门:从打家劫舍到状态设计的三堂课
算法·leetcode·动态规划·dp·回溯·暴力