poj2823Sliding Window

POJ_2823 Sliding Window Sliding Window 链接 POJ_2823 Sliding Window Luogu_1886 滑动窗口 /【模板】单调队列(本题的弱化版) Description An array of size n ≤ 106 is given to you. There is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k 阅读详情

题目连接:http://poj.org/problem?id=2823

代码含全角空格

#include <iostream>
#include <cstdio>
using namespace std;
const int N=1e6+5;
struct node{
    int num,id;
}Q[N];
int n,k,a[N];

int main()
{
    scanf("%d%d",&n,&k);
    for(int i=0;i<n;i++) scanf("%d",&a[i]);
    int l=1,r=0;//这样初始化,则为l<=r
    for(int i=0;i<k-1;i++){
        while(l<=r&&Q[r].num>=a[i])
            r--;
        Q[++r].id=i;
        Q[r].num=a[i];
    }
    for(int i=k-1;i<n;i++){
        while(l<=r&&Q[l].id<i-k+1)
            l++;
        while(l<=r&&Q[r].num>=a[i]) r--;
        Q[++r].id=i;
        Q[r].num=a[i];
        printf("%d ",Q[l].num);
    }
    printf("\n");
    l=1,r=0;
    for(int i=0;i<k-1;i++){
        while(l<=r&&Q[r].num<=a[i])
            r--;
        Q[++r].id=i;  
        Q[r].num=a[i];
    }
    for(int i=k-1;i<n;i++){
        while(l<=r&&Q[l].id<i-k+1)l++;
        while(l<=r&&Q[r].num<=a[i])r--;
        Q[++r].id=i;
        Q[r].num=a[i];
        printf("%d ",Q[l].num);
    }
    printf("\n");
    return 0;
}


UniApp 与 Taro 深度解析:如何根据项目需求选择最佳跨平台框架? 本文深度对比了UniApp和Taro两大主流跨平台开发框架。UniApp基于Vue生态,提供开箱即用的高效开发体验,尤其适合快速覆盖多端小程序;Taro则根植React范式,架构灵活,便于与现有React生态集成,更适合对性能和原生体验有高要求的复杂项目。文章结合团队技术栈、项目类型及性能需求,为开发者提供了清晰的选型指南。 阅读详情

相关推荐

weblogic启动异常故障处理(boot认证失败)

root 用户生成的文件属主为 root,WebLogic进程将无权读取,直接导致认证失败。· ⚠️ 密码必须完全一致:第3步 AdminAccount 命令中设置的密码,与第5步所有 boot.properties 文件中 password= 字段的值,必须保证完全一致。如果您的域下配置了受管服务器实例(如 ms_server1、ms_server2 等),必须逐一更新各实例下的免密启动文件,确保实例重启时密码与AdminServer保持一致,否则实例启动会因认证失败而报错。此步骤至关重要,必须执行。

weixin_53389944的博客 220

[单调队列] poj 2823 Sliding Window

题意: 给你n个数和一个k 把n分成连续的n-k+1个区间 第一行按顺序输出每个区间的最小值,第二行是最大值。 思路: 单调队列的模板题,这里注意的是插入队尾的时候需要二分加速 代码: #include"stdio.h" #include"algorithm" #include"string.h" #include"iostream" #include"queue" #include

Enmity_Dark 709

内存|内存的概念、内存的作用、内存的物理结构及内存使用

内存是硬件,是用于存放数据的硬件。程序执行前需要先放到内存中才能被CPU处理。内存是与CPU沟通的桥梁,计算机中所有程序的运行都要依靠内存,内存对计算机的影响非常大。本文简单介绍了内存的概念、作用、物理结构以及使用,内存远不止如此,后续文章会逐步深入讲解。

qq_59938293的博客 2万+

POJ-2823-Sliding Window

POJ-2823-Sliding Window http://poj.org/problem?id=2823 求区间的最大值与最小值,线段树即可,C++过了,G++超时,囧 #include #include #include #include using namespace std; #define N 1000005 struct cam { int x; int y; int

菜鸟的程序人生 1076

量化策略开发步骤系列(5)前向测试和统计意义

我们在第 4 部分,展示了我们策略的样本外测试并讨论了其结果。用于开发模型的数据是 2018 年至 2021 年的数据,测试数据是 2021 年至 2022 年的数据。但有一种方法可以更好地利用我们的数据。

码上助君的专栏 1843

FATFS挂载多个存储设备(2):功能配置及功能测试

本文介绍了基于FATFS文件系统实现多存储设备挂载的方法,包含底层设备驱动函数编写、功能配置、功能测试。

kevin1499的博客 2585

POJ2823 Sliding Window

POJ2823 筱柒Littleseven QQ:3534947775 题目链接 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #define maxn 1000100 using namespace std; int n,k,head,...

筱柒LittleSeven 127

SAP-ABAP:SAP数据库视图的创建图文详解

在“短文本”字段中输入视图的描述。在“表/视图”字段中输入要基于的表名。如果视图基于多个表,可以在这里输入主表。点击“表/视图字段”按钮,选择要包含在视图中的字段。如果视图基于多个表,点击“关系”按钮来定义表之间的连接条件。在弹出的窗口中,选择要连接的表,并定义连接条件(例如。

baidu_35680696的博客 972

POJ 2823 Sliding Window

被逼着写的一个题,以前觉得难度很大的东西,一旦有动力去好好学习,其实真的并没有那么难 ACM代码其实没有多少行,而且原理也就那么几句,怀着一颗向上的心,每天正能量,每天一道a+b,时间长了真的会有很大进步的 因为,时间都看得见 (废话了一波) 题目链接:POJ2823 题意:给定n,k,n个数,求每个连续的以K为区间长度的区间中的最小值和最大值 方法1:线段树!区间内的最大最小

ACdream 391

Windows原生与WSL2环境下OpenClaw性能与兼容性的对比分析研究

本文对比分析了Windows原生环境与WSL2环境下运行OpenClaw的性能与兼容性。Windows原生环境提供深度系统集成、图形界面支持和硬件加速优势,适合需要Windows生态集成的用户;WSL2则提供接近原生Linux的性能体验,兼容Linux工具链,适合开发者和跨平台需求。文章详细介绍了两种环境下的推荐硬件配置、系统版本选择及必备工具,并提供了具体的部署步骤指南。研究表明,两种环境各有适用场景,用户可根据需求选择最适合的部署方式。

一键难忘的博客 1217

Android车载蓝牙开发全攻略:从基础到高级优化

本文系统介绍了Android车载蓝牙开发的核心技术与实践指南。文章首先阐述了蓝牙在智能汽车中的关键作用,包括免提通话、音频流媒体等应用场景。随后详细解析了蓝牙协议基础,重点介绍了HFP、A2DP等车载常用协议。开发实战部分提供了设备发现、连接、数据传输的完整代码示例,并融入多线程和内存优化技巧。通过真实车载案例,展示了启动时间、流畅度和资源使用的优化策略。最后针对面试需求,提供了专业的技术问答,涵盖蓝牙开发全流程。全文紧密结合Android车载开发职位要求,为开发者提供了一套完整的蓝牙技术解决方案。

郑伟强dev的专栏 116

POJ - 2823 Sliding Window

https://vjudge.net/problem/POJ-2823 POJ - 2823 Sliding Window题目AC代码 题目 An array of size n ≤ 106 is given to you. There is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the wi

斯文~ 358

Debezium报错处理系列之二十八: Expiring 1 record(s) for test-ts-0:120001 ms has passed since batch creation

Debezium报错处理系列之二十八: Expiring 1 record(s) for test-ts-0:120001 ms has passed since batch creation

zhengzaifeidelushang的博客 3290

POJ2823 Sliding Window

单调队列 滑动窗口

a free man 582

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

poj 2823 Sliding Window

在这里先说一道微软的面试题目———《队列中的最大值》 让你设计一个队列,是其求里面最大值的时间复杂度尽可能的低,但这个队列除了最大值外,就是一个普通的队列,该怎么进出还是怎么进出,并不是优先队列。 对于一堆树,我们求其中最大值一般都会直接遍历一次,然后找到最大值,这样的话时间复杂度是O(n),如果在这道题里面用这种方法总的时间复杂度会到O(...

159

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

POJ 2823 Sliding Window

Sliding Window 题目意思很简单,求解给定一个区间中的最小与最大,但此题不适合用线段树解,因为区间动态的变化。用单调队列比较适合,也可以用2个堆来维护,一个维护最大,一个维护最小。用单调队列实现的程序如下: /* ID: csuchenan PROG: POJ 2823 LANG: C++ */ #include const int maxn = 1000000 ; #defi

BootStar 419

poj2823 Sliding Window

Sliding Window Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 52857   Accepted: 15140 Case Time Limit: 5000MS Description An array of

ACoder 458

POJ2823 Sliding Window 单调队列

题目链接 http://poj.org/problem?id=2823 分析 单调队列模板,在从队尾出队时,可以用二分快速找到最终位置,但效果并不明显。 AC代码 #include <cstdio> inline int read() { int num = 0, flag = 1; char c = getchar(); while (c < '0' || c >...

Kevin的博客 255

【POJ2823】Sliding Window

http://poj.org/problem?id=2823 题意:你有一个长度n的序列,分别询问[1,k],[2,k+1],[3,k+2],...,[n-k+1,n]这n-k+1个区间的最大值和最小值。 单调队列入门题。用两个单调队列分别维护当前最大值和最小值的最优解、次优解、……K优解。 每次拓展一个数就不断将队尾的劣解出队,保持队列的单调性。然后不断将队首的过气解(即距离当前...

anlongshi2245的博客 226

poj 2823 Sliding Window 题解

Sliding Window Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 53037   Accepted: 15207 Case Time Limit: 5000MS Description An array of size n ≤ 106 is gi

SBS的博客 247
上一篇: hdu1267最少拦截系统
下一篇: cf295A. Greg and Array
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值