随笔分类 -  数据结构————单调队列

摘要:* 思路:$dp_i$表示到第$i$个格子的最大得分,仔细思考后发现$f_i$只能从他之前一段区间内的最大$f_i$转移过来,且随着区域的后移不断改变,滑动窗口维护再二分答案就好了。 *代码实现: 滑动窗口的活动范围:$max$($d-len$,1)$\to$$d+len$ 滑动窗口的移动:当最大值 阅读全文
posted @ 2020-10-10 15:05 小又又 阅读(157) 评论(2) 推荐(1)
摘要:*传送 对于一个$n \times m$的矩形,我们只要对每一行求滑动窗口,当前位置的最大价值就是他上一行的滑动窗口(点击查看解释)+当前位置的价值。因为当前位置左上T个位置,会被他左边T个位置的点更新到,所以我们只需要算一边就好。 代码如下: 1 #include <iostream> 2 #in 阅读全文
posted @ 2020-03-14 16:36 小又又 阅读(132) 评论(0) 推荐(0)
摘要:*传送 **单调队列的模板题(做很多题的前置准备) 本题我们维护一个从大到小/从小到大的单调队列即可。拿最大值来举例:对于新加进来的数,如果比队尾小我们就加进来,否则为了维护单调性我们从队尾弹出比当前值小的值。不难证明这些弹出的值不会是任何一个滑动窗口的答案。对于窗口的限定长度,我们只需要每次判断队 阅读全文
posted @ 2020-03-13 16:34 小又又 阅读(262) 评论(0) 推荐(0)