CodeForces 602 B.Approximating a Constant Range(尺取+set)
来源:互联网 发布:狄俄尼索斯知乎 编辑:程序博客网 时间:2024/06/04 01:10
Description
给出一个长度为n的序列a[i],保证任意两个相邻的数差值不超过1,问该序列中极差不超过1的最长子段长度
Input
第一行一整数n表示序列长度,之后n个整数a[i]表示该序列(2<=n<=1e5,1<=a[i]<=1e5)
Output
输出极差不超过1的最长子段长度
Sample Input
5
1 2 3 3 2
Sample Output
4
Solution
尺取,用set维护区间最大值和最小值,极差不超过1则更新答案然后区间右端点右移,否则左端点右移,时间复杂度O(nlogn)
Code
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#include<queue>#include<map>#include<set>#include<ctime>using namespace std;typedef long long ll;#define INF 0x3f3f3f3f#define maxn 111111int n,a[maxn];multiset<int>s;multiset<int>::iterator it;int main(){ while(~scanf("%d",&n)) { s.clear(); for(int i=1;i<=n;i++)scanf("%d",&a[i]); s.insert(a[1]); int l=1,r=2,m,M,ans=1; while(l<=n) { it=s.end(); it--; m=*s.begin(),M=*it; if(M-m>1) { it=s.find(a[l]); s.erase(it),l++; } else { ans=max(ans,r-l); if(r<=n) { s.insert(a[r]),r++; } else break; } } printf("%d\n",ans); } return 0;}
0 0
- CodeForces 602 B.Approximating a Constant Range(尺取+set)
- Codeforces 602B Approximating a Constant Range
- Codeforces 602B Approximating a Constant Range
- Codeforces 602B Approximating a Constant Range(RMQ)
- CodeForces 602B Approximating a Constant Range(RMQ)
- codeforces 602B Approximating a Constant Range(线段树+尺取法)
- Codeforces 602B Approximating a Constant Range 【dp + 二分】
- [CodeForces 602B]Approximating a Constant Range[构造]
- 【32.22%】【codeforces 602B】Approximating a Constant Range
- Codeforces 602B - Approximating a Constant Range(DP)
- Coderforce 602B Approximating a Constant Range
- codeforec 602B Approximating a Constant Range
- 602B - Approximating a Constant Range (STL 贪心)
- Approximating a Constant Range CodeForces
- Codeforces Round #333 (Div. 2)B. Approximating a Constant Range(ST+二分||set暴力)
- Codeforces Round #333 (Div. 2) B. Approximating a Constant Range
- Codeforces Round #333 (Div. 2) B. Approximating a Constant Range
- Codeforces Round #333 (Div. 2) B Approximating a Constant Range
- django常用第三方app大全
- 网易有道云笔记去除左下角广告
- eclipse启动失败,可能原因
- C#中如何调整图像大小
- 页面下拉自动加载内容
- CodeForces 602 B.Approximating a Constant Range(尺取+set)
- 地图API获取发布版SHA1
- NXP i.MX 8处理器再扩军!全新i.MX 8X处理器剑指工业与汽车应用
- android 隐藏标题栏
- 探索性数据分析(EDA)
- java 内置对象
- STEPcode二次开发入门填坑
- Activity启动模式(集百家之长)
- 欢迎使用CSDN-markdown编辑器