【SPOJ-ARRAYSUB】subarrays【单调队列】
来源:互联网 发布:东安格利亚大学知乎 编辑:程序博客网 时间:2024/05/19 11:38
题意:
给出n个数,问连续k个最大值。
裸的单调队列。
一发AC。
(把k给在数后面大概是为了防止读入时就处理数据吧...)
#include <cstdio>#include <algorithm>using namespace std;const int maxn = 1000005;int n, k, num[maxn];struct _data {int w, pos;} q[maxn];inline int iread() {int f = 1, x = 0; char ch = getchar();for(; ch < '0' || ch > '9'; ch = getchar()) f = ch == '-' ? -1 : 1;for(; ch >= '0' && ch <= '9'; ch = getchar()) x = x * 10 + ch - '0';return f * x;}int main() {n = iread();for(int i = 1; i <= n; i++) num[i] = iread();k = iread(); k = min(k, n);int h = 1, t = 0;for(int i = 1; i < k; i++) {for(; h <= t && q[t].w <= num[i]; t--);q[++t] = (_data) {num[i], i};}for(int i = k; i <= n; i++) {for(; h <= t && q[h].pos <= i - k; h++);for(; h <= t && q[t].w <= num[i]; t--);q[++t] = (_data) {num[i], i};printf("%d ", q[h].w);}return 0;}
0 0
- 【SPOJ-ARRAYSUB】subarrays【单调队列】
- SPOJ 912 MATRIX2(二维单调队列)
- SPOJ DRUIDEOI (单调栈)
- [SPOJ TBATTLE Thor vs Frost Giants]单调队列+质因子分解
- 单调栈 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 数组(一维数组)
- android studio创建第一个安卓程序加载html5页面(二)
- 结构体使用分析
- 多线程下载之断点续传采用随机文件读取流,HttpConnection实现
- 转:解决 unresolved external symbol 无法解析
- 【SPOJ-ARRAYSUB】subarrays【单调队列】
- 实现JTable的动态更新
- 读uCOSIII源码笔记
- java基础 内部类使用总结
- C语言文件操作函数大全
- Apache shiro 笔记整理之编程式授权
- Gartner诠释什么是真正的BI分析平台
- Leetcode 142
- Openstack镜像和密码