当前位置: 首页 > news >正文

算法题(183):质量检测

审题:

本题需要我们求出Q序列并逐行打印

思路:
首先我们需要知道Qm是什么意思:

根据题意,m是题目给定的值,而Qm表示一段索引1~m的区间的质量最差值,Qm+1表示索引2~m+1的区间

综上所述,其实题目就是要我们求每段长度为m的区间的最差质量值并输出

方法一:滑动窗口

我们可以利用双端队列来解决滑动窗口的求最值题目

解题:

#include<iostream>
#include<deque>
using namespace std;
const int N = 1e5 + 10;
int a[N];
int n, m;
int main()
{cin >> n >> m;for (int i = 1; i <= n; i++){cin >> a[i];}//查找最差质量deque<int> q;//存下标for (int i = 1; i <= n; i++){while (q.size() && a[q.back()] >= a[i]) q.pop_back();q.push_back(i);if (q.back() - q.front() + 1 > m) q.pop_front();if (i >= m) cout << a[q.front()] << endl;}return 0;
}

注意:

1.队列存储的是下标

2.使用队列相关接口的时候需要先判断队列是否为空

3.要利用存储的下标来判断最前面出现的产品是否还在窗口中

4.最终输出的是产品的质量值,所以要根据队列中存储的索引映射回a数组输出

P2251 质量检测 - 洛谷

http://www.lryc.cn/news/615369.html

相关文章:

  • 【递归、搜索和回溯】FloodFill 算法介绍及相关例题
  • 比亚迪第五代DM技术:AI能耗管理的深度解析与实测验证
  • ToB大型软件可靠性测试方案
  • Dell PowerEdge: Servers by generation (按代系划分的服务器)
  • imx6ull-驱动开发篇15——linux自旋锁
  • Orange的运维学习日记--36.NFS详解与服务部署
  • 回答“http协议 ,js组件化,工程化, seo优化策略 ,针对不同平台终端适配 web标注和兼容性”
  • Vue3的简单学习
  • Vuex 数据共享
  • JVM常用参数有哪些?
  • 06.【数据结构-C语言】队列(先进先出,队列实现:入队列、出队列、获取队头or队尾元素,队列实现代码,队列相关题目)
  • idea设置注释--带日期和作者和描述
  • 排序概念以及插入排序
  • Oracle字段操作
  • (nice!!!)(LeetCode 面试经典 150 题) 146. LRU 缓存 (哈希表+双向链表)
  • 在 Vue 中动态引入SVG图标的实现方案
  • STM32 外设驱动模块四:光敏电阻(LDR) 模块
  • 後端開發技術教學(四) 數據交互延伸
  • 2025年渗透测试面试题总结-09(题目+回答)
  • 力扣(轮转数组)
  • 欧拉公式的意义
  • gpt-oss 全量技术解读
  • AI鉴伪技术:守护数字时代的真实性防线
  • 数学学习 | 高数、线代、概率论及数理统计荐书
  • 【C++】set
  • AI热点周报(8.3~8.9):OpenAI重返开源,Anthropic放大招,Claude4.1、GPT5相继发布
  • 第二十八天(cookiesessiontokeny验证)
  • 李宏毅深度学习教程 第16-18章 终身学习+网络压缩+可解释性人工智能
  • STM32学习笔记6-TIM-2输出比较功能
  • 《汇编语言:基于X86处理器》第12章 复习题和练习