博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51nod 1275 连续子段的差异
阅读量:5860 次
发布时间:2019-06-19

本文共 823 字,大约阅读时间需要 2 分钟。

 

分析:

1、首先是尺取,尺取到每一个区间,区间满足这个条件,最大-最小<=k;

2、对于一个动态区间,怎么维护他的最大值,最小值(的下标);——单调队列;

  什么时候删掉头结点呢? 当我找到了当前区间的上限;我需要尺取移动头结点了;此时,单调队列不用怕,只要这个头不影响我的单调队列,我就可以不用管;否则弹掉;

1 #include 
2 3 using namespace std; 4 5 const int maxn = 50000 + 5; 6 int a[maxn]; 7 8 9 int main()10 {11 int n,k;12 scanf("%d%d",&n,&k);13 for(int i=0;i
Amin,Amax; //单调递减队列,单调递增队列18 19 for(int i=0,j=0;i
=a[Amin.back()])24 Amin.pop_back();25 26 while(!Amax.empty()&&a[j]<=a[Amax.back()])27 Amax.pop_back();28 Amin.push_back(j);29 Amax.push_back(j);30 31 if(a[Amin.front()]-a[Amax.front()]<=k)32 j++;33 else break;34 }35 ans+=(j-i);36 37 if(Amin.front()==i)38 Amin.pop_front();39 if(Amax.front()==i)40 Amax.pop_front();41 42 }43 printf("%d\n",ans);44 45 return 0;46 }
View Code

 

转载于:https://www.cnblogs.com/TreeDream/p/6803877.html

你可能感兴趣的文章
WP7 Emulator 截屏
查看>>
解决方案是什么
查看>>
[LintCode] Move Zeroes 移动零
查看>>
WPF 动态模拟CPU 使用率曲线图
查看>>
16.1。iperf3 - 执行网络吞吐量测试
查看>>
脊柱外科病人资料管理系统的界面设计分析(2)--JOA评分记录的实现
查看>>
24.5. Routing Information Protocol (RIP) Commands
查看>>
tmux/screen里面如何用鼠标滚轮来卷动窗口内容
查看>>
根据不同需求跳转不同Activity的另外一种写法
查看>>
服务器带宽问题记录
查看>>
【案例学习】美国大都会人寿保险公司的 Docker EE 实践
查看>>
【jQuery】清空表单内容
查看>>
网站设计开发维护基本流程
查看>>
2.4. PDF
查看>>
关于Web页中的色彩反转遇到一点问题
查看>>
【spring boot logback】spring boot中logback日志乱码问题
查看>>
[Android]使用Gradle提交自己开源Android库到Maven中心库
查看>>
【★】假如人类使用16进制
查看>>
Selenium2+python自动化62-jenkins持续集成环境搭建
查看>>
【Python】获取主机ip的方式
查看>>