题目大意:n个数的序列,问最长的区间,区间内最大的数和最小的数差小于等于1

Sample test(s)
input
5
1 2 3 3 2

output
4

input
11
5 4 5 5 6 7 8 8 8 7 6

output
5

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int dp[100100][20],dp2[100100][20],s[100100];
int n;void RMQ_init()
{for(int i=1; i<=n; i++) {dp[i][0]=s[i];dp2[i][0]=s[i];}for(int j=1; (1<<j)<=n; j++)for(int i=1;i+(1<<j)-1<=n;i++){dp[i][j]=max(dp[i][j-1],dp[i+(1<<(j-1))][j-1]);dp2[i][j]=min(dp2[i][j-1],dp2[i+(1<<(j-1))][j-1]);}
}int Max(int L,int R)
{int k=0;k=log2(R-L+1);return max(dp[L][k],dp[R-(1<<k)+1][k]);
}int Min(int L,int R)
{int k=0;k=log2(R-L+1);return min(dp2[L][k],dp2[R-(1<<k)+1][k]);
}int main()
{int ans,i,j,l,r;scanf("%d",&n);for(i=1;i<=n;i++) scanf("%d",&s[i]);RMQ_init();l=1;r=1;ans=0;while(r<=n) {while(r<=n && Max(l,r)-Min(l,r)<=1) r++;ans=max(ans,r-l);while(Max(l,r)-Min(l,r)>1&&l<r) l++;}printf("%d\n",ans);return 0;
}
#include<bits/stdc++.h>
using namespace std;
multiset<int>ss;
multiset<int>::iterator it1,it2,it3;
const int maxn=1e5+100;
int a[maxn];
int main()
{int n,i,j,ans,p;int mx,mi;scanf("%d",&n);for(i=1;i<=n;i++) scanf("%d",&a[i]);p=1;mx=mi=a[1];ans=0;ss.insert(a[1]);for(i=2;i<=n;i++) {mx=max(mx,a[i]);mi=min(mi,a[i]);if(mx-mi<=1) {ss.insert(a[i]);ans=max(ans,(int)ss.size());continue;}ss.insert(a[i]);while(ss.size()>0&&mx-mi>1) {it1=ss.find(a[p++]);ss.erase(it1);it2=ss.begin();it3=ss.end();it3--;mi=*it2;mx=*it3;}ans=max(ans,(int)ss.size());}printf("%d\n",ans);return 0;
}

cf#333 (Div. 2) 区间最大最小值(RMQ || STL_set)相关推荐

  1. cf #829 Div.2(A~D)

    Cf #829 Div.2 A. Technical Support 题意 给定一个以Q开头的只含有'Q'&'A'的字符串,每一个问题后面必须有回答 问给定的字符串是否符合要求 题解 贪心,Q ...

  2. cf #832 Div.2(A-D)

    Cf #832 Div.2 文章目录 Cf #832 Div.2 [A. Two Groups](https://codeforces.com/contest/1747/problem/A) [B. ...

  3. cf #823 Div.2(A~C)

    Cf #823 Div.2 文章目录 Cf #823 Div.2 [A. Planets](https://codeforces.com/contest/1730/problem/A) [B. Mee ...

  4. cf #825 Div.2(A~C2)

    Cf #825 Div.2 文章目录 Cf #825 Div.2 [A. Make A Equal to B](https://codeforces.com/contest/1736/problem/ ...

  5. edu cf #138 Div.2(A~D)

    edu cf #138 Div.2 文章目录 edu cf #138 Div.2 [A. Cowardly Rooks](https://codeforces.com/contest/1749/pro ...

  6. CF#320 Div.2 总结

    比赛网址:cf#320 Div.2 晚上11点开始的比赛,持续2个半小时.结束时有两道题题过了预测数据,分时是A题和C题. 比赛开始的时候,理所当然地从A题开始看起.A题比较容易,稍微分析一下就可以看 ...

  7. cf #796 Div.2

    cf #796 Div.2 文章目录 cf #796 Div.2 [A. Cirno's Perfect Bitmasks Classroom](https://codeforces.com/cont ...

  8. CF #366(div.2) C 模拟,思维

    CF #366(div.2)  C.  Thor 题意:一个手机n个联系人,有q个操作.每次给出ty和ai,如ty==1,表示收到ai的一条信息:如ty==2,表示将ai发的信息都看掉:如ty==3, ...

  9. CF #371 (Div. 2) C、map标记

    1.CF #371 (Div. 2)   C. Sonya and Queries  map应用,也可用trie 2.总结:一开始直接用数组遍历,果断T了一发 题意:t个数,奇变1,偶变0,然后与问的 ...

最新文章

  1. jmeter web监听结果_JMeter 性能测试基本过程及示例
  2. eclipse java jar源码,eclipse查看Jar包源码
  3. 休息五分钟,学几个bash快捷键
  4. JZOJ 5183. 【NOIP2017提高组模拟6.29】小T的钢琴
  5. linux部署DM数据库的DEM系统
  6. IT销售素质 -- 自信进取
  7. 微软.NET年芳15:我在Azure上搭建Photon服务器(C#.NET)
  8. java流与文件——操作文件
  9. 固态硬盘 linux 文件系统,SSD是否需要使用特别的文件系统?
  10. 神经网络入门回顾(感知器、多层感知器)
  11. C#中const和readonly的区别
  12. 常见的 Web 应用攻击示例
  13. 处理机调度之时间片轮转调度算法实现
  14. 计算机硬盘介绍,硬盘简介 - 硬盘使用知识大全(1)
  15. 华为社招机考考什么_华为研发面试流程及机考题常出题型—亲历总结
  16. 同源、跨域、跨站、SameSite与withCredentials
  17. Pycharm 去掉拼音检查,大小写检查,自动补全不区分大小写
  18. 51单片机最小系统的c语言,89c51单片机最小系统,89c51最小系统原理图的功能详解...
  19. Fluent compiled 失败
  20. 6.shell之正则表达式

热门文章

  1. K9F1208U0M(64M nand flash)手册阅读以及相关驱动程序分析
  2. 2021双十二淘宝护肤品销量预测模型
  3. 一个android应用,搜你妹视频,你懂的
  4. 网站倒闭营收下滑 中国SNS陷成长烦恼
  5. Socket的详细介绍
  6. 模拟版图设计工程师要学些什么?从入门到入行,你想知道的都在这里了
  7. mysql latin1 utf8 java_Java读写以latin1编码存储以UTF-8输出的MySQL数据库(中文乱码)...
  8. linux 病毒 挖矿病毒kworkers
  9. c语言程序设计电子信息,电子信息类专业C语言程序设计实践教学探讨
  10. luogu 2344