【数据结构】[luoguP1886]滑动窗口
来源:互联网 发布:淘宝拉黑退款率高的人 编辑:程序博客网 时间:2024/06/08 05:31
题目
接近于单调队列的模板了 根据大小之类的入队出队 代码好理解
代码如下
#include<iostream>#include<cstdio>#include<cctype> using namespace std; #define in = read() typedef long long ll; const ll size = 1000000 + 1000; ll n ,k; ll a[size]; ll h ,t; ll q[size] ,p[size];inline ll read(){ ll num = 0, f = 1; char ch = getchar(); while (!isdigit(ch)){ if(ch == '-') f = -1; ch = getchar(); } while (isdigit(ch)){ num = num*10 + ch - '0'; ch = getchar(); } return num*f;}inline void maxx(){ h = 1; t = 0; for (int i=1;i<=n;i++){ while (h <= t && q[t] <= a[i]) t --; q[++ t] = a[i]; p[t] = i; while (p[h] <= i - k) h ++; if(i >= k) printf("%d ",q[h]); } printf("\n");}inline void minn(){ h =1; t = 0; for (int i=1;i<=n;i++){ while (h <= t && q[t] >= a[i]) t --; q[++ t] = a[i]; p[t] = i; while(p[h] <= i - k) h ++; if(i >= k) printf("%d ",q[h]); } printf("\n");}int main(){ n in; k in; for (int i=1;i<=n;i++) a[i] in; minn(); maxx();}//COYG
阅读全文
0 0
- 【数据结构】[luoguP1886]滑动窗口
- 滑动窗口数据结构和发送算法
- 数据结构——滑动窗口练习
- 滑动窗口
- 滑动窗口
- 滑动窗口
- 滑动窗口。。
- 滑动窗口
- 窗口滑动
- 滑动窗口
- 滑动窗口
- 滑动窗口
- 滑动窗口
- 滑动窗口
- 滑动窗口
- 滑动窗口
- 滑动窗口
- 滑动窗口
- Date & Time组件(下)-TimePicker(时间选择器)
- Python 生成 -1~1 之间的随机数矩阵
- 中文的URL处理
- 多部件表单(图片上传)
- 反射方法调用
- 【数据结构】[luoguP1886]滑动窗口
- window下基于anaconda安装tensorflow
- Java8 新特性之流式数据处理
- Apache Camel之FTP组件学习
- Java Call DLL(compiled by VB) java调用vb生成的dll
- 7.0fileprovider的使用
- 1061. 判断题(15)
- 在Centos 中将zookeeper设置成开机启动
- 深入理解Hadoop集群和网络