区间mex

问题

给定序列\({a_i}\), 每次询问给出\(l\), \(r\), 询问 \(\text{mex} \{a_i\}, i \in \{l, l+1, \cdots r\}\)

解法 (在线)

对于每个元素, 用 \(v_i\) 表示它最后一次出现的位置.

考虑到是区间询问, 使用主席树维护 \(v_i\) .

那么答案就是: 第 \(r\) 棵线段树上, 最小的 \(v_i < l\) 的值. 线段树上二分即可.

或者可以离线询问, 对 \(r\) 排序, 然后用线段树维护.

区间元素种数

问题

给定序列\({a_i}\), 每次询问给出\(l\), \(r\), 询问 \(\text{card} \{a_i\}, i \in \{l, l+1, \cdots r\}\), 其中\(\text{card}(S)\)表示集合\(S\)的元素个数. (相同元素记做一次)

解法

莫队 (离线)

不用说了吧... 板子题, 参考hh的项链.

主席树 (在线)

类似区间mex, 用 \(v_i\) 表示它最后一次出现的位置, 用主席树维护.

答案就是: 第 \(r\) 棵线段树上, \(l \le v_i \le r\) 的值的个数. 这显然是区间求和.

同样, 可以离线询问, 对 \(r\) 排序, 然后用树状数组/线段树维护.

转载于:https://www.cnblogs.com/ubospica/p/10386707.html

[模板] 区间mex 区间元素种数相关推荐

  1. 线段树(区间更改,区间查最值)模板

    线段树(区间更改,区间查最值)模板 主要重在理解线段树,理解了怎么改都可以,还有以后不要直接抄模板,要写出自己想的一份代码 &代码: #include <cstdio> #incl ...

  2. Problem A: 删除区间内的元素(线性表)

    Problem A: 删除区间内的元素(线性表) Time Limit: 1 Sec  Memory Limit: 2 MB Submit: 75  Solved: 24 [Submit][Statu ...

  3. P6327 区间加区间sin和 线段树 + 数学

    传送门 文章目录 题意: 思路: 题意: 给你一个长度为nnn的序列aaa,有mmm次操作,每次操作分两种类型: (1)l,r,v(1)l,r,v(1)l,r,v,将al,al+1,...,ara_l ...

  4. LeetCode 57. 插入区间(合并区间+排序)(区间重叠问题汇总)

    题目描述 给出一个无重叠的 ,按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间). 示例 1: 输入: interval ...

  5. 整数、区间与区间端点(三)

    整数.区间与区间端点 整数.区间与区间端点 (二) 追比分,比如现在是 5:10,追 5 球,打平,追 6 球,则领先: 区间左端点往左,是扩大区间,左端点向右,是缩小区间: 同理对于右端点,向左是缩 ...

  6. 整数、区间与区间端点 (二)

    整数.区间与区间端点 1. 区间 1.1 区间起始位置 ss,长度 ℓ\ell 与终点 ee 三者应满足的关系为: ℓ=e−s+1 \ell=e-s+1 所以已知区间终点,和区间长度,求起始位置: s ...

  7. html页面forEach用法,jQuery教程之使用模板动态添加html元素,相当于jstl里的foreach...

    本篇文章探讨了jQuery教程之使用模板动态添加html元素,相当于jstl里的foreach,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 1.开发的时候有时候要循 ...

  8. 几个线段树板子(区间加/区间加与乘)

    一直仰慕dl能够把线段树玩出花来,所以就想手写并整理一下几个常见的线段树板子(主要是结构化得好看一些) Part Ⅰ区间加法+区间求和 洛谷P3372 基础中的基础 //luogu P3372 199 ...

  9. 第3关:基础正则表达式--区间与区间取反

    任务描述 本关任务:运用正则表达式的区间表示方法,编写一个能从文本中快速匹配到数字与不是数字字符的小程序. 相关知识 为了完成本关任务,你需要掌握: 正则表达式区间的表达方式: 正则表达式区间取反的表 ...

最新文章

  1. Re-Located Record in Grid
  2. 剑指 offer set 19 翻转单词顺序 字符串左旋
  3. mongoose设置unique不生效问题解决
  4. Rclone for Android – 云服务/网盘文件管理工具 Rclone 的 Android 客户端
  5. java beancomparator_xkbeancomparator
  6. Android 性能测试之方向与框架篇
  7. ThreadLocal是什么?ThreadLocal的原理分析
  8. python实现将android手机通讯录vcf文件转化为csv
  9. 虚拟服务器软件,VMware ESXi(服务器虚拟化软件) V7.0 官方版
  10. JAVA 滑块拼图验证码
  11. (五)Excel函数应用之查询与引用函数
  12. Codeforces Round #739 (Div. 3) E. Polycarp and String Transformation
  13. 一小时建立数据分析平台
  14. 历史重演?元宇宙会走上世纪交替时的互联网老路么?
  15. 如果你喜欢平板又是QWERTY键盘控 联想推“握柄键盘”满足你
  16. 人们熟知的一句名言是:“天才是1%的灵感加99%的汗水。”可如果没有那1%的灵感,世界上所有的汗水也就仅仅是一桶汗水而已。...
  17. python美化excel_简单介绍python在CMD界面读取excel所有数据
  18. 你有用过 Github 的 Gist 吗?
  19. CONDITION EVALUATION DELTA
  20. Win11找不到gpedit.msc怎么办?Win11无法打开gpedit.msc解决教程

热门文章

  1. Squid代理服务器安装设置
  2. 各大网站屏蔽搜索引擎抓取分析
  3. 《编程之美》2.14求子数组之和的最大值
  4. 用c语言编一个贪吃蛇,刚学C语言,想写一个贪吃蛇的代码
  5. xpath定位元素方法_测试数十次,总结了APP元素定位的万能方法
  6. 共基极放大电路_「模拟电子技术」运算放大电路的共基极、共射极、共集电极接法...
  7. Python运算符还有能这样用?
  8. 单片机8位抢答器实训机电报告_CD4511八路抢答器实验报告-
  9. crx header invalid_解决Chrome插件安装时程序包无效【CRX_HEADER_INVALID】(转载+xPath插件)...
  10. mysql取最早和最晚时间_SQL Server 按日期选择最晚日期与最早日期对应的数的差值...