pku 2823 双端队列

避坑指南:Spring3集成OpenAPI时泛型响应失效的3种解决方案 本文深入探讨了Spring3集成OpenAPI时泛型响应失效的问题,提供了三种实用解决方案:移除@Schema注解、使用@ArraySchema包装泛型以及自定义Schema处理器。针对不同项目规模,详细分析了各方案的适用场景、优缺点及性能影响,帮助开发者高效生成准确的接口文档,提升前后端协作效率。 阅读详情

PKU 2823 双端队列特点:

1.队列具有单调性(desc or asc)。

2.只能在对头或队尾进行插入删除操作。

本题维护一个递增和一个递减的两个队列

#include <iostream>
#include <stdio.h>
#include <deque>
#include <vector>
using namespace std;
int a[1000010];
int answer_min[1000010];
int answer_max[1000010];
int main()
{
// freopen("in.txt","r",stdin);
int n;
int k;

int i;
deque<int> min;
deque<int> max;
while (scanf("%d%d",&n,&k)!=EOF)
{
   for (i=0; i<n; i++)
    scanf("%d",&a[i]);

min.clear();
max.clear();
int index = 0;
for (i=0; i<n; i++)
{

   while (!min.empty() && a[min.back()] > a[i] )
    min.pop_back();

   while (!max.empty() && a[max.back()] < a[i])
    max.pop_back();
  
   max.push_back(i);
   min.push_back(i);
   if (i>=k-1)
   {
    answer_max[index] = a[max.front()];
    answer_min[index] = a[min.front()];
    index++;
   }

   if (!min.empty() && i - min.front() == k-1)
    min.pop_front();
   if (!max.empty() && i-max.front() == k-1)
    max.pop_front();
} 
  
for (i=0; i<index; i++)
{
   printf("%d",answer_min[i]);
   if (i == index -1)
    printf("\n");
   else
    printf(" ");
}

for (i=0; i<index; i++)
{
   printf("%d",answer_max[i]);
   if (i == index -1)
    printf("\n");
   else
    printf(" ");
}

}
return 0;
}


固定时间收敛的控制器设计(基础知识) 针对控制系统的有限时间收敛和固定时间收敛给出一些常用定理。 阅读详情

相关推荐

国产操作系统替换方案:3个避坑指南

坑核心误区避坑核心原则关键动作坑一:选型只看信创信创目录=唯一标准兼容性优先,信创是约束三维评估(兼容性+信创+生态),分场景选型坑二:迁移只管能跑功能能跑=迁移成功性能确认+运维回归适配-压测-回归三阶段,基线对比坑三:不防二次迁移解决停服=完成任务一步到位,两级兼容信创路线优先,双轨制发布,终态规划。

weixin_43524706的博客 299

消息队列

消息队列 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图片拖拽 功能,你可以将本

pku_min的博客 251

qt工程引入opencv库步骤

第一步:新建qt工程 第二步:在工程名.pro文件中添加opencv库的路径                   INCLUDEPATH += /home/liyuanzhe/opencv-2.4.8/include/opencv \ /home/liyuanzhe/opencv-2.4.8/include/opencv2 LIBS += /home/liyuanzhe/open

superyuanzhe的专栏 5722

PKU2823 单调队列

<br /><br />Sliding Window<br />Time Limit: 12000MS<br /> <br />Memory Limit: 65536K<br />Total Submissions: 14169<br /> <br />Accepted: 3953<br />Case Time Limit: 5000MS<br />Description<br />An array of size n ≤ 106 is given to you. There is a slidi

ACM_DavidCN的专栏 1063

高通camera open代码流程(hal到kernel)

内容:简单介绍Camera open代码调用流程,从HAl到kernel。(api1+hal1) 前言 Android camera api和hal对应关系。安卓在版本更新过程中,camera相关代码也经历了几个版本的更新,表现为camera HAL版本更新(HAL1->HAL2->HAL3),camera API版本更新(camera API1->camera API2),接下...

oxoo123的专栏 4277

Polyworks脚本开发实战指南:高效生成数据彩图与报告的关键指令解析

本文深入解析了Polyworks脚本开发中生成数据彩图与自动化报告的核心指令。通过实战案例,详细介绍了REFERENCE_SURFACE、THICKNESS和CLEARANCE等关键彩图生成指令的正确用法与常见避坑点,并阐述了如何利用REPORT_ITEM命令实现从截图、表格生成到智能排版的全流程自动化,旨在帮助三维检测与质量控制工程师大幅提升工作效率与报告标准化水平。

weixin_29209825的博客 556

PKU 2823 Sliding Window

利用单调队列的统计。类似的题目有PKU 3250题目意思是要求给定数列中,一个大小固定的滑动窗口内的最值维护一个单调队列,末端插入,弹出,首端删除即可。队首始终为最值。需要注意的两个问题: 1. 队列的初始化2. 队首弹出需判断 #include  using namespace std;const int N = 1000010;int

BryanWatson的专栏 1412

FOC控制必看:单/双/三电阻电流采样方案全对比(附NXP实战避坑指南)

本文深入对比了FOC控制中单电阻、双电阻和三电阻电流采样方案的优劣与适用场景,重点剖析了采样时序、窗口与ADC转换的工程挑战。针对NXP平台,提供了解决采样窗口过窄的实战方案与配置指南,帮助工程师根据成本与性能需求做出最优选择,并规避常见设计陷阱。

n2o3p4的博客 416

单调队列的学习 pku2823

故名思异,一个单调的队列,求定长区间(整个区间移动)内的最大值或最小值?       不妨设区间的定长为k,求最小值。扫描一遍,如果现在入队的数(从后面入队),比前面入队的数要小的话,那么将前面的数出队,因为它无论后面什么时候都不可能成为最小值的(随着整个区间向后移动,它肯定比现

qjklw 543

ROS 2 Jazzy与Gazebo Harmonic仿真实战:从零搭建机器人仿真环境与高级应用

本文详细介绍了如何使用ROS 2 Jazzy和Gazebo Harmonic从零搭建机器人仿真环境,涵盖环境配置、传感器集成、多机器人协同和GPU加速优化等高级应用。通过实战案例和性能调优技巧,帮助开发者高效构建可靠的机器人仿真系统,提升开发效率。

h9j8k7l6m5n的博客 1219

EndNote X9 参考文献附录列表 格式调整

EndNote X9 插入参考文献常见问题总结

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 2570

pku2823_Sliding Window

一开始用线段树写的,超时,后来看了看大牛的双端队列版的,勉强过了,好艰辛啊。不过通过这题了解了双端队列,还是有很大收获的。线段树版(超时版)/*  * File:   main.cpp * Author: Administrator * * Created on 2010年1月24日, 下午2:03 */#include #includeusing namespace std;#def

chenjiang492943457的专栏 387

企业级OpenClaw部署实战:10个关键配置让你从“养虾“到“精通“

OpenClaw(社区昵称"小龙虾")作为2026年开源社区最活跃的AI Agent项目,凭借其多Agent协同架构和企业级安全隔离能力,已成为中大型企业的首选AI基础设施。本文基于真实企业部署经验,系统梳理了企业级OpenClaw部署的10个关键配置:用户ID消息隔离、群组ID消息隔离、多机器人配置、无限量Agent创建、机器人与Agent关联、Agent间调度、权限配置、Hooks任务、多模型切换及一键备份迁移。

program哲学 931

pku 2823(单调队列、线段树)

这个题目之前就用线段树做了一遍,今天看了下单调队列。重新写了一遍, 对于此题来说,比线段树快不少。单调队列呢,比如说  一个用来求最大元素的单调队列,那么,这个队列中的元素就是非递增的。这个时候也许就会有疑问,优先级队列也有这个特性。为什么还要用这个所谓的单调队列。这里有个问题是普通的  FIFO 队列,只能从队首删除元素,但是优先级队列可以从队尾进行删除。  这就是单调队列最重要的一个特性。对于此题来说,就是一个区间求最值的问题。所以方法呢,也是有很多的。  比如RMQ、线段树等等。至于单调队列的做法就是

Hewie的专栏 917

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

数据结构总结(一):一种特殊的有序队列

  遇到过一种比较特殊的队列,以前我习惯叫它“双端队列”,可能是当时的误解,先假想一下如下的情况:有一堆元素,每个元素有一个关键值key,一个代表位置的pos。对于一个给定的位置p,我要找与这个位置距离不超过k的最小(大)的值。但是还有一个重要限制,这堆元素得一个一个处理和查询,先处理的元素的pos必须比后处理的元素的pos要小。就是说,第一个元素处理,第二个元素处理。。。第i个元素处理,这时

yxysdcl的专栏 2066

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

pku上的数据结构题(转)

 数据结构(1)串 (poj1035,poj3080,poj1936)(2)排序(快排、归并排(与逆序数有关)、堆排) (poj2388,poj2299)(3)简单并查集的应用.  (4)哈希表和二分查找等高效查找法(数的Hash,串的Hash)(poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503)(5)哈夫曼树(poj3253)(6)堆  (7)tri...

The time is passing 126

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

pku上的数据结构题

 数据结构(1)串 (poj1035,poj3080,poj1936)(2)排序(快排、归并排(与逆序数有关)、堆排) (poj2388,poj2299)(3)简单并查集的应用.  (4)哈希表和二分查找等高效查找法(数的Hash,串的Hash)(poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503)(5)哈夫曼树(poj3253)

Eli's XXX 752

POJ题目分类

两个版本POJ题目推荐(转载) 题目均为POJ上的 http://acm.pku.edu.cn 个别题目的分类并不准确 ====================================== OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739 ,poj1083,poj2262,poj1503,poj3006,poj2255,poj3

_L_LIU_L_ 567

hdu 3532 Max Angle

1. atan2(y,x)返回值在 -pi 到 pi 之间。要划区间 2.当两线段夹角 angel > pi 时 , 取 angle = 2Pi - angle . #include #include #include using namespace std; #define FOR(i,s,e) for (int (i)=(s);(i)<(e);i++) const double IN

timluoTC的专栏 625

swjtu oj 1579 加号问题

http://acm.swjtu.edu.cn/JudgeOnline/showproblem?problem_id=1579 明显的DP算法。方便起见,定义一个结构体answer。用来储存一个字符串数字,当然拉,也可以不用,看个人喜好。输入字符串s ,加号个数 m,一个answer的二维数组 OPT[ i ][ j ] ,表示: 用 s 的前 i 的 字符,在这i个字符中加入 j 个加

timluoTC的专栏 565

pku 2398

http://acm.pku.edu.cn/JudgeOnline/problem?id=2398. 敲的时候sb掉了。。写数论习惯性的是 unsigned __int64 u64..于是乎也贴了上去...于是乎。。因为unsigned....... #include #include #include #include #include #include #include

timluoTC的专栏 518

swjtu oj 1589 Help Alice!

http://acm.swjtu.edu.cn/JudgeOnline/showproblem?problem_id=1589 没涉及到什么算法,两个二进制数,求最大公约数,但是这两个数字必须用字符串表示,算是要求自己模板吧,这里给出我AC的程序:二进制字符串的减法和取模运算. #include #include typedef struct {

timluoTC的专栏 497

pku 2653 Pick-up sticks

http://acm.pku.edu.cn/JudgeOnline/problem?id=2653 我明明越界,pku 给tle... 害的我一顿改。就是不过。还以为模板有问题 #include #define FOR(i,s,e) for (int (i)=(s); (i) < (e);i++) inline double max(double a, double b) {return a

timluoTC的专栏 475

foj 1971 A math problem

AC大牛的神题。 比赛时候没写出来。 首先,是思维问题。 一开始大部分队伍想的都是算出N,M然后找公式求,也确实找到一些,但是都不可行。赛后看了解题报告才明白将 ANS 写成 ANS = wi mod (pi ^ ci) 的形式,通过求 wi 。 再套用中国剩余定理。确定 ANS 。 首先, 直接求出 N 。 然后 求 wi = 1^A + 2^A + 3^A + ...+ N ^A

timluoTC的专栏 467

pku 3304 Segments

http://acm.pku.edu.cn/JudgeOnline/problem?id=3304 假设存在 符合题意的一条直线l ,它经过所有线段。 那么, 必可以通过旋转,平移等操作,使得该直线至少经过两个#include #include #include using namespace std; #define FOR(i,s,e) for (int (i)=(s); (i) <

timluoTC的专栏 460

pku 3587 The Biggest Cake

http://poj.org/problem?id=3587 首先按照O(n^3)暴了一次,2000MS。然后按照O(n^2logn)写了一次,700MS.主要有一些计算几何的注意事项。 1。 sin , cos , atan ,tan ,sqrt 等数学函数执行的速度很慢,最好避免频繁使用 2. 关于精度。 爆的时候开了一个eps = 1e-10,.wa . 改1e-5。ac。继续改直接

timluoTC的专栏 459
上一篇: swjtu oj 1589 Help Alice!
下一篇: hdu 1022
timluoTC
博客等级 码龄15年 1粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值