[C++] 封装了个...滑动窗口
1.[C++] 不新不好的前向星类2.[C++] 不新不好的高精类3.[C++] 不新不好的矩阵运算类4.[C++] 关于矩阵运算类的历史残次品记录5.[C++] 基于字符串的高精度容器 3.06.[C++] 封装树状数组
7.[C++] 封装了个...滑动窗口
8.[C++] 对拍模板9.[C++] Rander10.[namespace hdk] StringAddition_InFix11.[namespace hdk] ordered_vector12.[namespace hdk] Balanced_tree 整合13.[namespace hdk] 向量 direct_vector14.[namespace hdk] 64位 bitset15.[namespace hdk] diff.h16.[namespace hdk] modint#include<bits/stdc++.h>
using namespace std;
class MMMW{
public:
deque<int> d1,d2;
int a[1001],k;
void out1(int id){
if(!d1.empty()&&d1.front()==id){
d1.pop_front();
}
}
void push1(int id){
while(!d1.empty()&&a[d1.back()]<a[id]){
d1.pop_back();
}
d1.push_back(id);
}
void out2(int id){
if(!d2.empty()&&d2.front()==id){
d2.pop_front();
}
}
void push2(int id){
while(!d2.empty()&&a[d2.back()]>a[id]){
d2.pop_back();
}
d2.push_back(id);
}
void out(int id){
out1(id);
out2(id);
}
void push(int id){
push1(id);
push2(id);
}
int max(){
return a[d1.front()];
}
int min(){
return a[d2.front()];
}
};
滑动窗口模板题AC示例
MMMW m;
int main(){
int n,k;
cin>>n>>k;
for(int i=1;i<=n;++i){
cin>>m.a[i];
}
for(int i=1;i<=k-1;++i){
m.push(i);
}
for(int i=k;i<=n;++i){
m.out2(i-k);
m.push2(i);
cout<<m.min()<<" ";
}
cout<<endl;
for(int i=k;i<=n;++i){
m.out1(i-k);
m.push1(i);
cout<<m.max()<<" ";
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!