![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
寒假学习笔记
文章平均质量分 60
mikko_6214
这个作者很懒,什么都没留下…
展开
-
滑动窗口——单调队列
大致思路为:将每一个可能成为最大(最小)值的数存入队列。比如说当求最大值时,当前值为3此时队尾值为1,那么1已经没有成为最大值的可能了所以去除。相反如果当前值比队尾小,那么他在未来有可能成为某一时刻的最大值所以存入队列。第 2 行:N 个整数,表示数组的 N 个元素(≤2×109≤2×109);第一行为滑动窗口从左向右移动到每个位置时的最小值,每个数之间用一个空格分开;第二行为滑动窗口从左向右移动到每个位置时的最大值,每个数之间用一个空格分开。你的任务是找出窗体在各个位置时的最大值和最小值。原创 2024-02-01 15:25:08 · 269 阅读 · 1 评论 -
逛画展——尺取/单调队列
这里同样用了和上一种方法相同的两个数组存储信息,需要注意的是,每录入一个数据都要判断它的作者是否与队头的作者重复,重复则删去队头作品,这时队头数据更新,我们还要判断更新后的队头作品作者是否出现超过1次,超过则去除,直到队头作品作者只出现一次。蒜头君想到博览馆去看这几位大师的作品,可是那里的博览馆有一个很奇怪的规定,就是在购买门票时必须说明两个数字 a 和 b,代表他要看展览中的第 a 幅至第 b 幅画(包含 a 和 b)之间的所有图画,而门票的价钱就是一张画一元。保证有解,如果多解,输出a最小的。原创 2024-02-01 14:27:09 · 345 阅读 · 1 评论 -
[CSP-J2020] 方格取数——动态规划
之前做的常规动态规划只有向下或向右两个选择,如果按照之前的思路(当前的状态只与上一行有关,并且上一行的状态已经为定值),是不可行的,因为我们可以向上走,即改变上一行的状态,但是可以发现在每一列中当前状态只与上一列(定值)有关,那么我们就可以确定dp数组的遍历顺序——现有一只小熊,想从图的左上角走到右下角,每一步只能向上、向下或向右走一格,并且不能重复经过已经走过的方格,也不能走出边界。小熊会取走所有经过的方格中的整数,求它能取到的整数之和的最大值。一个整数,表示小熊能取到的整数之和的最大值。原创 2024-01-29 22:15:10 · 447 阅读 · 0 评论