单调队列

2024/4/11 22:50:17

洛谷P1886 滑动窗口 /【模板】单调队列

题目链接: P1886 滑动窗口 /【模板】单调队列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 说明: 参考:第九章:单调栈与单调队列_单调栈和单调队列-CSDN博客 练习一下单调队列模板,后面有些题好做一些。 步骤&…

【单调队列】滑动窗口与子矩阵

一、滑动窗口 给定一个大小为 n≤1e6 的数组。 有一个大小为 k 的滑动窗口,它从数组的最左边移动到最右边。 你只能在窗口中看到 k 个数字。 每次滑动窗口向右移动一个位置。 以下是一个例子: 该数组为 [1 3 -1 -3 5 3 6 7],k 为 3。 …

C++ 入门单调队列的应用及心得 —— 例题详解 最大矩形面积

单调队列——最大矩形面积 目录 单调队列——最大矩形面积 题目描述:最大矩形面积 分析 思路 易错点 代码 题目描述:最大矩形面积 直方图是由在公共基线处对齐的一系列矩形组成的多边形。矩形具有相等的宽度,但可以具有不同的高度。例…

POJ2838,Sliding Window(单调队列)

关于单调队列的讲解可看: https://blog.csdn.net/roufoo/article/details/78443281 https://www.cnblogs.com/neverforget/archive/2011/10/13/ll.html (单调队列的应用) 单调递增队列可以求滑动窗口的最小值(队首)&am…

算法竞赛进阶指南---0x18(单调队列)滑动窗口

题面 题解 单调队列经典例题,考虑朴素做法,将窗口中的数放入队列,每次维护队列的数量,在O(k) 下找出窗口中的最小值/最大值 ,接下来对 O(k) 进行优化对于窗口中的数,(第一个样例)当窗…

单调栈 单调队列 专题

文章目录一、单调栈1、问题模型2、实现过程:3、代码实现4、规律总结5、题目练习二、单调队列1、问题模型2、实现过程:3、代码实现4、规律总结5、题目练习三、总结一、单调栈 1、问题模型 主要解决一类问题: O(n)O(n)O(n) 求数列中每个元素左…

算法竞赛进阶指南---0x12 最大子序和

题面 题解 这其实是一道单调队列优化区间dp问题,对于这个序列,我们可以划分为n个区间,每个区间代表以ai结尾,长度不超过m的子序列和,我们只需要遍历一遍每个集合,找到每一个集合中的最大值,那么…

洛谷 P1638:逛画展 ← 单调队列

【题目来源】https://www.luogu.com.cn/problem/P1638https://www.acwing.com/problem/content/653/【题目描述】 博览馆正在展出由世上最佳的 M 位画家所画的图画。 wangjy 想到博览馆去看这几位大师的作品。 可是,那里的博览馆有一个很奇怪的规定,就是…

力扣第239题 c++滑动窗口经典题 单调队列

题目 239. 滑动窗口最大值 困难 提示 队列 数组 滑动窗口 单调队列 堆(优先队列) 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的…

手把手带你手写一个单调队列

带你手写一个单调队列 本文目录带你手写一个单调队列一、概述二、原理三、代码实现一、概述 ​ 本文将带你彻底搞懂单调队列的原理,并用代码进行实现。有一到经典的用单调队列解决的LeetCode题——滑动窗口最大值。 二、原理 ​ 首先先看看这个单调队列用于解决的…

二分查找|双指针:LeetCode:2398.预算内的最多机器人数目

作者推荐 【动态规划】【广度优先】LeetCode2258:逃离火灾 本文涉及的基础知识点 二分查找算法合集 滑动窗口 单调队列:计算最大值时,如果前面的数小,则必定被淘汰,前面的数早出队。 题目 你有 n 个机器人,给你两…

BZOJ3238: [Ahoi2013]差异(后缀数组)

传送门 题意&#xff1a; 给定字符串S,求∑1≤i<j≤nlen(suffix(i))len(suffix(j))−lcp(suffix(i),suffix(j))题解&#xff1a;后缀数组 首先前面的一部分&#xff0c;每个后缀被枚举的次数为n−1&#xff0c;所以前部分的贡献为(n−1)⋅n(n1)2。 对于后面一部分&#x…

【算法】滑动窗口题单——4.不定长滑动窗口(求子数组个数)

文章目录 前言2799. 统计完全子数组的数目解法1——枚举右端点&#xff0c;移动左端点解法2——枚举左端点&#xff0c;扩展右端点 713. 乘积小于 K 的子数组1358. 包含所有三种字符的子字符串数目2302. 统计得分小于 K 的子数组数目2537. 统计好子数组的数目2762. 不间断子数组…

几道单调队列相关的题目

相关题目&#xff1a; 918. 环形子数组的最大和 1425. 带限制的子序列和 862. 和至少为 K 的最短子数组 from typing import List class MaxSubarraySumCircular:"""918. 环形子数组的最大和https://leetcode.cn/problems/maximum-sum-circular-subarray/descr…

acwing 1090 绿色通道

题面 题解 代码 #include<bits/stdc.h>using namespace std; const int N 5e4 10; const int INF 1e9;int n, t; int w[N]; int q[N]; int f[N];bool check(int limit) {int hh 0, tt -1;q[tt] 0;for (int i 1; i < n; i) {while (hh < tt && q[hh…

2018 Multi-University Training Contest 8 Taotao Picks Apples[离线+单调队列+二分]

题目大意&#xff1a;给你n个数&#xff0c;然后你可以从左到右每次选择最大的&#xff0c;总共可以选k个数&#xff0c;然后现在给你q次修改&#xff0c;每次修改某个位置的某个数&#xff0c;问你现在还能选几个数 分析&#xff1a;这个题目有点类似前几场做过的一个单调队列…

算法基础——单调栈,单调队列

目录 1.单调栈 例题&#xff1a;【模板】单调栈 例题:求和 2.单调队列 例题&#xff1a;滑动窗口 1.单调栈 例题&#xff1a;【模板】单调栈 可以想象出一个柱状图&#xff0c;值越大&#xff0c;这个柱子越高 以此题的样例为例&#xff1a; 第一个数为7&#xff0c;想…

LeetCode-239. 滑动窗口最大值【队列 数组 滑动窗口 单调队列 堆(优先队列)】

LeetCode-239. 滑动窗口最大值【队列 数组 滑动窗口 单调队列 堆&#xff08;优先队列&#xff09;】 题目描述&#xff1a;解题思路一&#xff1a;其实是一道队列题&#xff0c;单调队列。队头是最大值&#xff0c;依次递减&#xff0c;所以需要在入队出队的时候维护单调队列的…

最大子序列(蓝桥杯,acwing,单调队列)

题目描述&#xff1a; 输入一个长度为 n 的整数序列&#xff0c;从中找出一段长度不超过 m 的连续子序列&#xff0c;使得子序列中所有数的和最大。 注意&#xff1a; 子序列的长度至少是 1。 输入格式&#xff1a; 第一行输入两个整数 n,m。 第二行输入 n 个数&#xff0…

HDU-1231 最大连续子序列(单调队列模板 或 dp)

链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1231 题意&#xff1a;多组样例&#xff0c;以0结束。给你一个n&#xff0c;接下来n个数&#xff0c;求出这n个数的最大连续子序列的和以及这个连续子序列的下标(l,r)&#xff0c;要求这个l&#xff0c;r尽可能的小…

5-14 数据结构啊poi N.重建计划

http://acm.hust.edu.cn/vjudge/contest/view.action?cid78124#problem/N //想看题目的willinglive 树的点分治单调队列二分答案 #include<cstdio> #include<string> #include<cstring> #include<algorithm> using namespace std; struct line {int s…

2018 Multi-University Training Contest 3 A题. Ascending Rating(单调队列)

题目大意&#xff0c;就是给你一个序列&#xff0c;在序列中对于每一个长度为m的区间&#xff0c;求区间最大和 每次递增的取区间内数的个数&#xff0c;然后求一个 最大值与i的异或和 和个数与i的异或和 题目分析&#xff0c;我们倒过来用一个递减的单调队列&#xff0c;那么…

[UOJ#245][UER#7B]天路

Description 给出n个数&#xff0c;对于每个k(2<k<n)&#xff0c;求出最大的一个ans&#xff0c;使得存在一个连续的长度为k的区间中最大值和最小值的差为ans。 答案与标准答案的误差不超过5%即为正确 n<10^5,ai<10^6 Solution 什么鬼&#xff1f;UER都出近似…

bzoj 2442: [Usaco2011 Open]修剪草坪

Description 在一年前赢得了小镇的最佳草坪比赛后&#xff0c;FJ变得很懒&#xff0c;再也没有修剪过草坪。现在&#xff0c; 新一轮的最佳草坪比赛又开始了&#xff0c;FJ希望能够再次夺冠。 然而&#xff0c;FJ的草坪非常脏乱&#xff0c;因此&#xff0c;FJ只能够让他的奶牛…

C++ 单调队列入门应用——例题详解 滑动窗口

滑动窗口 关于这道题&#xff0c;首先会想到暴搜&#xff0c;但数据太大&#xff0c;绝对超时。用暴搜的思路来说&#xff0c;就是一个一个枚举&#xff0c;再在当中找出最大最小值&#xff0c;会发现&#xff0c;每次都在重复枚举&#xff0c;那有没有什么方法可以保存之前的值…

单调栈与单调队列算法总结

单调栈 知识概览 单调栈最常见的应用是找到每一个数离它最近的且比它小的数。单调栈考虑的方式和双指针类似&#xff0c;都是先想一下暴力做法是什么&#xff0c;然后再挖掘一些性质如单调性&#xff0c;最终可以把目光集中在比较少的状态中&#xff0c;从而达到降低时间复杂…

Bags Game

题目传送门 引 这种博弈问题挺经典的,第一时间就应该想到 区间 D P 区间DP 区间DP ,小小地积累一下吧 解法 设计出 D P DP DP f l . r : 考虑区间 [ l , r ] . 先手可以获得的最大差值 f_{l.r} : 考虑区间 [l,r] .先手可以获得的最大差值 fl.r​:考虑区间[l,r].先手可以…

SA+ST表维护height+单调队列维护:CF1073G

https://www.luogu.com.cn/problem/CF1073G lcp相关的&#xff0c;先跑个sa&#xff0c;然后height建个ST表 现在考虑询问&#xff0c;我们按A和B按 r k rk rk 排序。现在考虑B->A&#xff0c;反过来同理。 我们可以用单调队列维护&#xff0c;满足height是单增的。因为…

深入浅出单调栈与单调队列

目录一、单调栈情形一&#xff1a;寻找一个数左边第一个小于它的数情形二&#xff1a;寻找一个数左边第一个小于它的数的下标情形三&#xff1a;寻找一个数右边第一个大于它的数情形四&#xff1a;寻找一个数右边第一个大于它的数的下标二、单调栈的应用2.1 单调栈模板题I2.2 单…

【面试高频算法解析】算法练习8 单调队列

前言 本专栏旨在通过分类学习算法&#xff0c;使您能够牢固掌握不同算法的理论要点。通过策略性地练习精选的经典题目&#xff0c;帮助您深度理解每种算法&#xff0c;避免出现刷了很多算法题&#xff0c;还是一知半解的状态 专栏导航 二分查找回溯&#xff08;Backtracking&…

【单调队列】LeetCode1499:满足不等式的最大值

涉及知识点 单调队列 题目 给你一个数组 points 和一个整数 k 。数组中每个元素都表示二维平面上的点的坐标&#xff0c;并按照横坐标 x 的值从小到大排序。也就是说 points[i] [xi, yi] &#xff0c;并且在 1 < i < j < points.length 的前提下&#xff0c; xi &…

最理想的正方形

题目描述 众所周知&#xff0c;正方形是很美妙的图形。当然了&#xff0c;LJH也很喜欢正方形。 正方形的四条边均相等&#xff0c;四个内角均等于90度&#xff0c;对边分别平行&#xff0c;既是中心对称图形&#xff0c;又是轴对称图形&#xff0c;绕中心旋转90度图形不变。 …

2019牛客暑期多校训练营(第三场)F Planting Trees(单调队列)

链接&#xff1a;https://ac.nowcoder.com/acm/contest/883/F?&headNavacm 题意&#xff1a;T组样例。每个样例第一行给出n、m&#xff0c;接下来给出一个n*n的矩阵。求最大值和最小值的差值小于等于m的矩阵的最大面积。 思路&#xff1a;两个for循环枚举上界和下界&…

[bzoj4700]适者

Description 给出n个人&#xff0c;每个人有血量T和攻击力D。 你自己可以看做有无限血量和A的攻击力。 战斗为回合制进行&#xff0c;每一回合你先选择一个敌人攻击&#xff0c;将其血量减少你的攻击力的数值。 若一个人的血量<0则死亡。 然后所有存活的敌人对你进行攻…

bzoj 1499: [NOI2005]瑰丽华尔兹

Description 你跳过华尔兹吗&#xff1f;当音乐响起&#xff0c;当你随着旋律滑动舞步&#xff0c;是不是有一种漫步仙境的惬意&#xff1f;众所周知&#xff0c;跳华尔兹时&#xff0c;最重要的是有好的音乐。但是很少有几个人知道&#xff0c;世界上最伟大的钢琴家一生都漂泊…

【leetcode】滑动窗口的最大值

在子数组的最小值之和——单调栈动态规划中学习了单调栈&#xff0c;同样的&#xff0c;单调队列也需要掌握。 滑动窗口的最大值是一道经典的单调队列问题。 文章目录1. 题目描述2. 思路分析1&#xff09;单调队列2&#xff09;优先队列1. 题目描述 题目链接&#xff1a;239.…