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

25.5.13

 感觉很久没有写算法题了,先来个滑动队列模板题试试水,就是用双端队列来实现会很方便,拿结构体来记录是第几个数和数的值即可,再定义两个双端队列,一个使他的值单调递增一个使他的值单调递减 使队头元素为最大值或者是最小值,当超过范围k时从队头弹出元素

#include<iostream>
#include<deque>
using namespace std;
struct sq {int num, val;
};
int x;
int a[3][1000010];
deque<sq>que1;
deque<sq>que2;
int main() {int n, k;cin >> n >> k;sq m;int cnt = 1;for (int i = 1; i <=n; i++) {cin >> x;m.num = i; m.val = x;while (!que1.empty() && x >=que1.back().val) que1.pop_back();while (!que2.empty() && x <= que2.back().val) que2.pop_back();que1.push_back(m);que2.push_back(m);while (i - k >= que1.front().num)que1.pop_front();while (i - k >= que2.front().num)que2.pop_front();if (i>=k){a[0][cnt] = que1.front().val;a[1][cnt] = que2.front().val;cnt++;}}for (int i = 1; i < cnt; i++) {cout << a[1][i] << " ";}cout << endl;for (int i = 1; i < cnt; i++) {cout << a[0][i] << " ";}return 0;
}

http://www.dtcms.com/a/187304.html

相关文章:

  • PyTorch中的nn.Embedding应用详解
  • 【架构】RUP统一软件过程:企业级软件开发的全面指南
  • 为什么hadoop不用Java的序列化?
  • ThingsBoard使用Cassandra部署时性能优化
  • React19源码系列之 API(react-dom)
  • Spring Boot配置文件
  • Spring Boot 项目中什么时候会抛出 FeignException?
  • dockerdesktop 重新安装
  • Spring Boot中HTTP连接池的配置与优化实践
  • 解决 MinIO 对象存储“AccessDenied”问题及 Docker 操作全解析
  • Kotlin 中的作用域函数
  • 配置Hadoop集群-上传文件
  • 基于Java和PostGIS的AOI面数据球面面积计算实践
  • 【SpringBoot】从零开始全面解析Spring MVC (一)
  • Ascend的aclgraph(六)AclConcreteGraph
  • [经验总结]删除gitlab仓库分支报错:错误:无法推送一些引用到“http:”
  • c语言第一个小游戏:贪吃蛇小游戏06
  • Visual Studio 项目 .gitignore 文件指南
  • 在 Qt Creator 中为 QDockWidget 设置隐藏和显示按钮
  • 通过anaconda安装jupyter
  • 【Redis 进阶】缓存
  • Mac显卡的工作原理及特殊之处
  • 【 Redis | 实战篇 秒杀实现 】
  • 移动端(手机)ECharts 的myChart.on(‘click‘,还生效吗我怎么触发不了,没得鼠标触发不了点击事件
  • Qt事件循环机制
  • 光谱相机的光电信号转换
  • lubuntu 系统详解
  • 【FMMT】基于模糊多模态变压器模型的个性化情感分析
  • 访问层架构设计:第二篇
  • 大模型中的KV Cache