pku 2823 双端队列

事件相机(Event Camera)及相关研究简介——新一代相机?新的计算机视觉领域? 事件相机(Event Camera)及相关研究简介 事件相机是一个新型的类脑相机,是一个待开发的大领域。希望通过我的分享,能够有更多人来研究并将它更好地运用在我们的生活中~ 阅读详情

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;
}


Pyinstaller打包为可执行文件编码错误的问题 Pyinstaller打包为可执行文件编码错误的问题 写好的python程序在vscode上运行没有任何问题,将程序利用pyinstaller打包后,运行程序发生了错误。 错误代码 UnicodeDecodeError: ‘utf-8' codec can't decode byte 0xce in position 20-21:invalid cotinuation byte 网上找到的解决方案是: 1.在命令行中输入 chcp 65001 2.按正常方式进行封装 pyinstaller 阅读详情

相关推荐

消息队列

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

pku_min的博客 251

PaddleOCR训练自己的数据

一 、数据准备 采用PPOCRLabel标注自己的数据 PPOCRLabel是一款适用于OCR领域的半自动化图形标注工具,内置PP-OCR模型对数据自动标注和重新识别。使用Python3和PyQT5编写,支持矩形框标注和四点标注模式,导出格式可直接用于PaddleOCR检测和识别模型的训练。 1.1 安装PaddlePaddle pip3 install --upgrade pip # 如果您的机器安装的是CUDA9或CUDA10,请运行以下命令安装 python3 -m pip in.

zyb的博客 1万+

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

睿尔曼复合机器人之底盘操作流程

控制键”按下后,可在键盘上通过‘i’(向前),‘k’(向后),‘j’(向左旋转),‘l’(向右旋转)四个按键对底盘进行运动控制。选中禁⾏线功能后,使⽤⿏标在界⾯内点击选择起点,继续在其他地⽅点击,两点之间会连成⼀条线,可以进⾏多次连续点击,形成连续线条。4)扫图完成后,软件会重新启动,返回到监控页面,点击“激光”可看到当前机器激光扫描的实时数据,在页面上表现为红色边界线,点击菜单栏“控制”键使底盘在一定范围内运动,扫描到尽可能多的边界线,可发现与实际地图的黑色边界线不同,需要进行手动校正。

realman_Rop的博客 1475

【python三维深度学习】python三维点云从基础到深度学习

从三维点云基础知识到深度学习,将按照以下目录持续进行更新。更新完成的部分可以在三维点云专栏中查看。含数据与python源码。

叶子的博客 2万+

PKU 2823 Sliding Window

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

BryanWatson的专栏 1412

基于STM32+RFID设计的宿舍检修管理系统

设计一个上位机,用来管理查看维修检修信息,当维修寝室的设备或者检修完成时,通过STM32上的RC522刷一下这个寝室的IC卡,识别这是哪个寝室,识别成功后在软件上弹出一个对话框,填写本次维修或者检修的事件,填写完毕点击提交即可。...

2556

单调队列的学习 pku2823

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

qjklw 543

[QMT量化交易小白入门]-二、如何用miniQMT获取沪深A股的板块列表、历史行情数据和实时行情数据

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。

木头大左的博客 5659

Codex CLI 手机号验证失败?5 种接码平台实测对比与绕过地区限制的 3 步操作

揭示 Codex CLI 手机号验证失败的真实原因在于上下文污染而非网络问题,分析其通过 ASN、Accept-Language 和 TLS SNI 三重加权风控的机制,并实测对比 5 种接码平台在 DNS 解析路径、ASN 干净度和复用间隔上的差异,提出剥离浏览器指纹、固化 TLS SNI、隔离

weixin_42627902的博客 737

pku2823_Sliding Window

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

chenjiang492943457的专栏 387

C++ (week6、7):Linux系统编程4:网络

Linux网络:计算机网络概述、TCP协议、Socket编程、IO多路复用机制(select、epoll)、HTTP协议、进程池、线程池、大文件网络传输问题

Edward2022的博客 1431

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

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

Hewie的专栏 917

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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

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

yxysdcl的专栏 2066

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

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

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

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、付费专栏及课程。

余额充值