【题目大意】

给出一个n个数的序列,以哪位位置为开头的长度为m的区间满足该区间的最大值与最小值的差≤一个定值。

【思路】

单调队列……说一下单调队列比较方便的操作。

把第一个先丢进去,开始条件为head=tail=1。就OK了。我以前总是喜欢左闭右开,还是都闭合好了不容易写错QAQ

所以……越刷越水,去睡觉!

 #include<bits/stdc++.h>
using namespace std;
const int MAXN=+;
int maxque[MAXN],minque[MAXN];
int n,m,c,v[MAXN],ans[MAXN];
int l1,r1,l2,r2; void solve()
{
scanf("%d%d%d",&n,&m,&c);
l1=l2=,r1=r2=;
scanf("%d",&v[]);
maxque[]=minque[]=;
ans[]=;
if (m==) ans[]++,ans[ans[]]=;
for (int i=;i<=n;i++)
{
scanf("%d",&v[i]);
while (maxque[l1]<=i-m && l1<=r1) l1++;
while (v[maxque[r1]]<=v[i] && l1<=r1) r1--;
maxque[++r1]=i; while (minque[l2]<=i-m && l2<=r2) l2++;
while (v[minque[r2]]>=v[i] && l2<=r2) r2--;
minque[++r2]=i; if (i>=m && v[maxque[l1]]-v[minque[l2]]<=c) ans[++ans[]]=i-m+;
} if (ans[]==) puts("NONE");
else for (int i=;i<=ans[];i++) printf("%d\n",ans[i]);
} int main()
{
solve();
return ;
}

【单调队列】BZOJ1342-[Baltic2007]Sound静音问题的更多相关文章

  1. [bzoj1342][Baltic2007]Sound静音问题_单调队列

    Sound静音问题 bzoj-1342 Baltic-2007 题目大意:给定一个n个数的序列,求所有的长度为m的区间,使得区间内最大值减去最小值不超过阈值c. 注释:$1\le n \le 10^6 ...

  2. BZOJ1342 [Baltic2007]Sound静音问题

    越来越水了... 这道题是简单的单调队列,同时维护最大值和最小值即可. 另解:multiset大法求区间最大最小,但是复杂度会上升... /****************************** ...

  3. 【尺取法】【Multiset】bzoj1342 [Baltic2007]Sound静音问题

    O(n)地枚举所有长度为k的段,每次暴力转移. 转移的时候只是从最后插入一个数,从前面删去一个数. 计算的时候要取当前的max和min. 用multiset(∵元素是可重的)以上这些操作都是O(log ...

  4. BZOJ 1342: [Baltic2007]Sound静音问题( 单调队列 )

    一开始写了个RMQ然后就T了... 好吧正解是单调队列, 维护两个单调队列... ----------------------------------------------------------- ...

  5. BZOJ_1342_[Baltic2007]Sound静音问题_单调队列

    BZOJ_1342_[Baltic2007]Sound静音问题_单调队列 题意: 给出n个数,求∑[ max{a[i]~a[i+m-1]} - min{a[i]~a[i+m-1]} <= c ] ...

  6. 1342: [Baltic2007]Sound静音问题

    1342: [Baltic2007]Sound静音问题 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 710  Solved: 307[Submit][ ...

  7. BZOJ 1342: [Baltic2007]Sound静音问题 | 单调队列维护的好题

    题目: 给n个数字,一段合法区间[l,l+m-1]要求max-min<=c 输出所有合法区间的左端点,如果没有输出NONE 题解: 单调队列同时维护最大值和最小值 #include<cst ...

  8. BestCoder Round #89 B题---Fxx and game(单调队列)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5945     问题描述 输入描述 输出描述 输入样例 输出样例 题意:中文题,不再赘述: 思路:  B ...

  9. 单调队列 && 斜率优化dp 专题

    首先得讲一下单调队列,顾名思义,单调队列就是队列中的每个元素具有单调性,如果是单调递增队列,那么每个元素都是单调递增的,反正,亦然. 那么如何对单调队列进行操作呢? 是这样的:对于单调队列而言,队首和 ...

随机推荐

  1. APScheduler API -- apscheduler.schedulers.base

    apscheduler.schedulers.base API class apscheduler.schedulers.base.BaseScheduler(gconfig={}, **option ...

  2. 使用spring的aop监听所有controller或者action日志

    日志还是使用log4,直接配置好文件输出或者控制台打印! 注解或者cml都行,我这里采用xml方式: spring的配置文件中配置日志类和aop: <!-- 日志监控类 --> <b ...

  3. 【codeforces】【比赛题解】#950 CF Round #469 (Div. 2)

    剧毒比赛,至少涨了分对吧.: ( [A]Left-handers, Right-handers and Ambidexters 题意: 有\(l\)个右撇子,\(r\)个左撇子,\(a\)个双手都惯用 ...

  4. 我看到的最棒的Twisted入门教程!

    http://www.douban.com/note/232204441/ http://www.cnblogs.com/sevenyuan/archive/2010/11/18/1880681.ht ...

  5. maven scope 'provided' 和 ‘compile’的区别

    解释 其实这个问题很简单. 对于scope=compile的情况(默认scope),也就是说这个项目在编译,测试,运行阶段都需要这个artifact(模块)对应的jar包在classpath中. 而对 ...

  6. React 学习二 组件

    React的一个最大的特点就是组件化的开发模式.今天就来试一下: <!DOCTYPE html> <html> <head> <meta charset=&q ...

  7. tf.nn.embedding_lookup函数

    tf.nn.embedding_lookup(params, ids, partition_strategy='mod', name=None, validate_indices=True, max_ ...

  8. Densely Connected Convolutional Networks 论文阅读

    毕设终于告一段落,传统方法的视觉做得我整个人都很奔溃,终于结束,可以看些搁置很久的一些论文了,嘤嘤嘤 Densely Connected Convolutional Networks 其实很早就出来了 ...

  9. P2448 无尽的生命

    Description 小 a有一个长度无限长的序列 p = (1, 2, 3, 4 --),初始时 pi = i 给出 m 个操作,每次交换两个位置的数 询问最后序列逆序对的个数 Solution ...

  10. POJ 2195 Going Home(KM算法模板)

    题目链接:http://poj.org/problem?id=2195 题目大意: 给定一个N*M的地图,地图上有若干个man和house,且man与house的数量一致. man每移动一格需花费$1 ...