NC50528 滑动窗口

简介: NC50528 滑动窗口

题目: NC50528 滑动窗口 ,哈哈,我们今天来看一道稍微复杂一点的题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:

考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!

题目传送门: NC50528 滑动窗口

思路:

单调队列的模板题,没什么好说的!

我们来看看成功AC的代码吧:

#include<bits/stdc++.h>
using namespace std;
int n,k;
const int N=1000010;
int a[N];
deque<int> q;
int main(){
    ios::sync_with_stdio(false);
    cin>>n>>k;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++){
        if(i-k>=q.front()) q.pop_front();//判断是否越界
        while(!q.empty()&&a[q.back()]>=a[i]) q.pop_back();
        q.push_back(i);
        if(i-k>=0){
            cout<<a[q.front()]<<" ";
        }
    }
    while(!q.empty()) q.pop_back();//清空
    cout<<"\n";
    for(int i=1;i<=n;i++){
        if(i-k>=q.front()) q.pop_front();
        while(!q.empty()&&a[q.back()]<=a[i]) q.pop_back();
        q.push_back(i);
        if(i-k>=0){
            cout<<a[q.front()]<<" ";
        }
    }
    return 0;
}


目录
打赏
0
0
0
0
0
分享
相关文章
【JavaEE】——四次挥手,TCP状态转换,滑动窗口,流量控制
四次挥手、TCP状态转换、(listed,established,close_wait,time_wait),滑动窗口,ack丢包,数据丢包,流量控制
|
9月前
扫描端口nc
扫描端口nc
49 0
|
9月前
|
nowcoder NC236题 最大差值
【1月更文挑战第2天】
62 0
图文秒懂TCP滑动窗口
小马无意中发现一个比较清晰的TCP滑动窗口视频教程,总结后在此分享,图文结合,一分钟即可秒懂窗口滑动原理,再也不怕面试官吓唬你了。视频源地址点这里,感谢原作者分享。
213 2
图文秒懂TCP滑动窗口
窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理
当涉及网络性能优化和数据传输可靠性时,TCP/IP滑动窗口是一个关键的技术。本文的摘要将深入揭示TCP/IP滑动窗口的工作原理,探讨其在确保数据准确性和实现高效通信方面的重要性。通过对滑动窗口大小、流控制和数据包确认机制的解析,我们将揭示如何通过优化窗口大小和流控制参数来提升网络性能。此外,我们还将介绍滑动窗口在解决网络拥塞和丢包问题方面的作用,以及如何通过精准的窗口调整实现零丢失、百分之百到达的数据传输。通过理解滑动窗口的工作原理,读者将能够更好地理解网络通信的内部机制,并为优化其应用程序的性能提供有价值的见解。
457 0
窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理
TCP的窗口控制和重发控制【TCP原理(笔记三)】
TCP的窗口控制和重发控制【TCP原理(笔记三)】
167 1
巧用 nc 命令传输文件
今天在业务上云的时候,遇到了些问题。最终发现问题的根源不好排查,于是——把生产环境的全量配置文件,还有日志全量打包下载到开发机器分析!生产和开发机内网不通,都是走公网传输,但是速度特别慢……
215 3