[模板] 区间mex 区间元素种数
区间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 区间元素种数相关推荐
- 线段树(区间更改,区间查最值)模板
线段树(区间更改,区间查最值)模板 主要重在理解线段树,理解了怎么改都可以,还有以后不要直接抄模板,要写出自己想的一份代码 &代码: #include <cstdio> #incl ...
- Problem A: 删除区间内的元素(线性表)
Problem A: 删除区间内的元素(线性表) Time Limit: 1 Sec Memory Limit: 2 MB Submit: 75 Solved: 24 [Submit][Statu ...
- P6327 区间加区间sin和 线段树 + 数学
传送门 文章目录 题意: 思路: 题意: 给你一个长度为nnn的序列aaa,有mmm次操作,每次操作分两种类型: (1)l,r,v(1)l,r,v(1)l,r,v,将al,al+1,...,ara_l ...
- LeetCode 57. 插入区间(合并区间+排序)(区间重叠问题汇总)
题目描述 给出一个无重叠的 ,按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间). 示例 1: 输入: interval ...
- 整数、区间与区间端点(三)
整数.区间与区间端点 整数.区间与区间端点 (二) 追比分,比如现在是 5:10,追 5 球,打平,追 6 球,则领先: 区间左端点往左,是扩大区间,左端点向右,是缩小区间: 同理对于右端点,向左是缩 ...
- 整数、区间与区间端点 (二)
整数.区间与区间端点 1. 区间 1.1 区间起始位置 ss,长度 ℓ\ell 与终点 ee 三者应满足的关系为: ℓ=e−s+1 \ell=e-s+1 所以已知区间终点,和区间长度,求起始位置: s ...
- html页面forEach用法,jQuery教程之使用模板动态添加html元素,相当于jstl里的foreach...
本篇文章探讨了jQuery教程之使用模板动态添加html元素,相当于jstl里的foreach,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 1.开发的时候有时候要循 ...
- 几个线段树板子(区间加/区间加与乘)
一直仰慕dl能够把线段树玩出花来,所以就想手写并整理一下几个常见的线段树板子(主要是结构化得好看一些) Part Ⅰ区间加法+区间求和 洛谷P3372 基础中的基础 //luogu P3372 199 ...
- 第3关:基础正则表达式--区间与区间取反
任务描述 本关任务:运用正则表达式的区间表示方法,编写一个能从文本中快速匹配到数字与不是数字字符的小程序. 相关知识 为了完成本关任务,你需要掌握: 正则表达式区间的表达方式: 正则表达式区间取反的表 ...
最新文章
- Re-Located Record in Grid
- 剑指 offer set 19 翻转单词顺序 字符串左旋
- mongoose设置unique不生效问题解决
- Rclone for Android – 云服务/网盘文件管理工具 Rclone 的 Android 客户端
- java beancomparator_xkbeancomparator
- Android 性能测试之方向与框架篇
- ThreadLocal是什么?ThreadLocal的原理分析
- python实现将android手机通讯录vcf文件转化为csv
- 虚拟服务器软件,VMware ESXi(服务器虚拟化软件) V7.0 官方版
- JAVA 滑块拼图验证码
- (五)Excel函数应用之查询与引用函数
- Codeforces Round #739 (Div. 3) E. Polycarp and String Transformation
- 一小时建立数据分析平台
- 历史重演?元宇宙会走上世纪交替时的互联网老路么?
- 如果你喜欢平板又是QWERTY键盘控 联想推“握柄键盘”满足你
- 人们熟知的一句名言是:“天才是1%的灵感加99%的汗水。”可如果没有那1%的灵感,世界上所有的汗水也就仅仅是一桶汗水而已。...
- python美化excel_简单介绍python在CMD界面读取excel所有数据
- 你有用过 Github 的 Gist 吗?
- CONDITION EVALUATION DELTA
- Win11找不到gpedit.msc怎么办?Win11无法打开gpedit.msc解决教程
热门文章
- Squid代理服务器安装设置
- 各大网站屏蔽搜索引擎抓取分析
- 《编程之美》2.14求子数组之和的最大值
- 用c语言编一个贪吃蛇,刚学C语言,想写一个贪吃蛇的代码
- xpath定位元素方法_测试数十次,总结了APP元素定位的万能方法
- 共基极放大电路_「模拟电子技术」运算放大电路的共基极、共射极、共集电极接法...
- Python运算符还有能这样用?
- 单片机8位抢答器实训机电报告_CD4511八路抢答器实验报告-
- crx header invalid_解决Chrome插件安装时程序包无效【CRX_HEADER_INVALID】(转载+xPath插件)...
- mysql取最早和最晚时间_SQL Server 按日期选择最晚日期与最早日期对应的数的差值...