【SPOJ-ARRAYSUB】subarrays【单调队列】
2016-02-21 18:32
316 查看
题意:
给出n个数,问连续k个最大值。
裸的单调队列。
一发AC。
(把k给在数后面大概是为了防止读入时就处理数据吧...)
给出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; }
相关文章推荐
- 【模板】网络流模板
- apache for mac
- 读uCOSIII源码笔记
- 结构体使用分析
- 多线程下载之断点续传采用随机文件读取流,HttpConnection实现
- 转:解决 unresolved external symbol 无法解析
- 实现JTable的动态更新
- Python装饰器笔记
- SDWebImage的简单使用
- 烧牛肉,烧肥肠,泡椒兔,炸胡豆炸豌豆?做法指南
- android studio创建第一个安卓程序加载html5页面(二)
- 多维数组
- 下载没有桌面图形界面的centos
- 深入理解Activity
- 数组指针的分析
- 【Nginx入门系列】第四章 通过域名匹配虚拟主机,不修改端口
- Apache shiro 笔记整理之身份认证
- Android学习笔记day2
- RPi 2B 自动发送获取的IP到固定邮箱
- 二级指针