传送门

文章目录

  • 题意:
  • 思路:

题意:

给你个长度为nnn的数组,让后一个mmm,问对于所有的0<=i<n−m0<=i<n-m0<=i<n−m,求min(mex(Ai+1,...,Ai+2,Ai+M))min(mex(A_{i+1},...,A_{i+2},A_{i+M}))min(mex(Ai+1​,...,Ai+2​,Ai+M​))。

思路:

本来以为是个主席树,以前了解到过主席树可以求mexmexmex,直接上主席树应该能过掉,虽然nnn有1e61e61e6。
当然这个题没有那么麻烦,我们只需要记一下每个数出现的位置,比如当前数为iii,由于长度是固定的mmm,如果这个数能在mexmexmex中出现,那么这个数必定存在相邻两个数(当然需要加上前后的边界)之间间隔至少mmm个数。所以我们只需要查看一下是否存在间隔至少为mmm距离即可。
有很多这一类的题都是记位置,想到这一点就很容易了。

#pragma GCC optimize(2)
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<map>
#include<cmath>
#include<cctype>
#include<vector>
#include<set>
#include<queue>
#include<algorithm>
#include<sstream>
#include<ctime>
#include<cstdlib>
#define X first
#define Y second
#define L (u<<1)
#define R (u<<1|1)
#define pb push_back
#define mk make_pair
#define Mid (tr[u].l+tr[u].r>>1)
#define Len(u) (tr[u].r-tr[u].l+1)
#define random(a,b) ((a)+rand()%((b)-(a)+1))
#define db puts("---")
using namespace std;//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); }
//void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); }
//void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;const int N=2000010,mod=1e9+7,INF=0x3f3f3f3f;
const double eps=1e-6;int n,m;
int a[N],b[N];
vector<int>v[N];int main()
{//  ios::sync_with_stdio(false);
//  cin.tie(0);cin>>n>>m;for(int i=1;i<=n;i++) scanf("%d",&a[i]),v[a[i]].pb(i);for(int i=0;i<=n+1;i++){int pre=0,flag=0;v[i].pb(n+1);for(int j=0;j<v[i].size();j++){if(v[i][j]-pre>=m+1) flag=1;pre=v[i][j];}if(flag) { cout<<i<<endl; break; }}return 0;
}
/**/

AtCoder Beginner Contest 194 E - Mex Min 思维相关推荐

  1. AtCoder Beginner Contest 194 F - Digits Paradise in Hexadecimal 数位dp

    传送门 文章目录 题意: 思路: 题意: 给一个161616进制的串NNN,让你求1−N1-N1−N中有多少个数有kkk个不同的数且没有前导零. 思路: NNN很大,有2e52e52e5了,那么就比较 ...

  2. AtCoder Beginner Contest 272「A」「B」「C」「D bfs」「E 思维」

    AtCoder Beginner Contest 272 A - Integer Sum 题目描述: 输入n个数字,求数字和 #include <bits/stdc++.h> using ...

  3. AtCoder Beginner Contest 245

    AtCoder Beginner Contest 245 文章目录 AtCoder Beginner Contest 245 A - Good morning B - Mex C - Choose E ...

  4. AtCoder Beginner Contest 197 题解(A ~ F)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Rotate B - Visibility C - ORXOR D - Opposite ...

  5. AtCoder Beginner Contest 215 F - Dist Max 2

    AtCoder Beginner Contest 215 F - Dist Max 2 平面上有一系列的点(xi,yi)(x_i,y_i)(xi​,yi​),定义两点(xi,yi),(xj,yj)(x ...

  6. Caddi Programming Contest 2021(AtCoder Beginner Contest 193) 题解

    Caddi Programming Contest 2021(AtCoder Beginner Contest 193) A - Discount 打折浮点数除即可 B - Play Snuke 枚举 ...

  7. Mynavi Programming Contest 2021(AtCoder Beginner Contest 201)题解

    文章目录 A - Tiny Arithmetic Sequence B - Do you know the second highest mountain? C - Secret Number D - ...

  8. KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200)题解

    文章目录 A - Century B - 200th ABC-200 C - Ringo's Favorite Numbers 2 D - Happy Birthday! 2 E - Patisser ...

  9. AtCoder Beginner Contest 081

    AtCoder Beginner Contest 081 题目链接:https://abc081.contest.atcoder.jp/ 总结:四道题较为简单,比赛时切完三题rank41,然后D题读错 ...

最新文章

  1. 使用com.sun.imageio.plugins.png.PNGMetadata读取图片的元数据
  2. 使用C#中的ref关键字,用2个简单例子来说明
  3. ajax练习,ajax练习
  4. 开发日记-20190628 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 5
  5. 接口 DataOutput
  6. 160 - 37 CyberBlade.1
  7. 利用.NET绘图技术制作水晶按钮控件(转)
  8. Spring Security AuthenticationManagerBuilder
  9. Android Alertdialog之多选对话框
  10. 【windows】win10录屏录屏内声音
  11. layim之初始化配置
  12. Python语言程序设计基础_实验1 Python程序设计基础_答案_通识教育必修课程_上海师范大学
  13. html中美元符号$转义字符是 #36;
  14. Java编程——subString,截取当前字符串的部分内容
  15. 【msvcr120.dll下载】msvcr120.dll丢失怎么修复
  16. (四)linux下配置jenkins--构建一个自由风格的项目
  17. 姨妈记录软件智能测试周期,‎App Store 上的“Monthly Cycles - 大姨妈周期跟踪及计算器”...
  18. 下载并使用ffmpeg进行音频转换、音频拼接、音视频分离、音视频合成
  19. 在Teams中实现审批任务
  20. WPS如何间隔插入空白行

热门文章

  1. ios 销毁当前页面重新开启_问:如何强制销毁iOS中的视图控制器?
  2. 用户体验五要素_UX系列课(三):用户体验影响力金字塔及五大要素
  3. 长能耐了?想造反了?你老婆没了.......
  4. 找对象不能只看TA的外表
  5. 专为小机械迷而造,培养STEM思维,千万别错过!物理机械力学知识边玩边学,5岁以上请入手...
  6. 资料分享 | 数据挖掘实例资料分享来袭
  7. 震惊整个世界的新发现,科学界的大骗局
  8. 机器学习资料第3版,助你继续成长!
  9. 弹性式分布数据集RDD——Pyspark基础 (二)
  10. 为什么mysql与eclipse_mysql的用户名和密码都是正确的,但是eclipse启动说不对