首页
比赛
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
Sliding Window
6条解析
开通博客写题解
是园不是圆
发表于 2020-05-30 18:28:21
原题链接:传送门 思路:这道题是滑动窗口的模板题,解决方法是用一个双端队列维护一个大小为k的窗口,然后我们让这个窗口每次移动一下,在移动的过程中维护窗口的最大值或者最小值(维护的答案就在队列的头部),重点介绍一下如何用双端队列来维护,首先为什么要用双端队列而不用一般的队列呢?因为我们要实现在队头的
展开全文
马角的逆袭
发表于 2020-05-21 11:21:03
经典问题,滑动窗口的最值问题, 堆优化 结构体保存数字的下标和数字本身 struct Node { int id, val; //下标和值 bool operator < (const Node& no) const { return val < no.v
展开全文
在刷题的单身狗很开心
发表于 2023-09-12 10:57:06
本题是一个滑动窗口问题,在移动过程中改变的是第一个数被丢掉和下一个数加进来。那么可以建立一个队列,如果当前进来的这个数比前面的某些数要大的话就需要出队,因为由于这个更大的数的存在前面的数就不可能变成最大的数。那么就需要直接从队列里面删除。如果第一个在窗口移动的时候被丢掉了同样也要删除。如果新加进来的
展开全文
sunrise__sunrise
发表于 2020-05-29 15:06:21
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 An array of size n ≤ 106 is given to you. There is a sliding windo
展开全文
ACtoYou
发表于 2024-03-29 09:06:49
/* 1. 需要维护:尾部插入,删除,头部删除,查找-->所以用deque 2. deque队列维护的是下标值,不是值 */ #include<bits/stdc++.h> using namespace std; int n,k; int a[1000010]; deque&
展开全文
活泼泼
发表于 2021-04-16 22:32:22
用数组du作为单调队列,把对应a中的下标记录下来。l和r分别是数组du的左右界。以求区间最大为例,如果后来的元素更大,则前面比它小的元素就没机会成为最大了,直接去掉。若后来的元素更小,由于位序偏后,可能会成为某个区间的最大。当区间里的数多于k个,就把最前面的元素去掉。最终du对应a中的元素单调下降,
展开全文
查看本题
查看本题讨论
相关比赛
1012-0x18 基本数据结构-总结与练习
进入比赛
18238-HUAS基础题单2
进入比赛
21285-牛客算法竞赛入门课第二节习题
进入比赛
27023-寒假冲刺
进入比赛
29755-FJNU训练计划专题二(基本数据结构)
进入比赛
等你来战
查看全部
牛客挑战赛80
报名截止时间:2025-06-27 22:00
第五届上海理工大学程序设计全国挑战赛
报名截止时间:2025-06-28 17:30
牛客周赛 Round 98
报名截止时间:2025-06-29 21:00
2025牛客暑期多校训练营1
报名截止时间:2025-07-15 17:00
2025牛客暑期多校训练营2
报名截止时间:2025-07-17 17:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题