当前位置: 首页 > news >正文

P4137题解

传送门:https://www.luogu.com.cn/problem/P4137

对于某一个值判断是否在 \([L,R]\)。因为是值域问题,考虑主席树维护当前位置值域,一种方法是维护每种数的出现次数。但题目要求mex不可避免的是枚举每个点做值域差分判断是否存在。我们需要寻找一种可以整体快速判断是否存在的点信息。最值便是一种。值域中每个点储存该值在当前右端点版本的序列中出现的最右位置。当一个值域区间的某个值出现最右位置的小于 \(l\) 时,mex就在该区间内。通过维护区间最小值然后在可持久化线段树上二分即可。因为不强制在线,又因为查询时只需要当前版本的线段树信息,离线后普通线段树即可,因为二分是全局的只需要每次简单往左端点找。

#include <bits/stdc++.h>const int N = 2e5 + 1;using namespace std;struct Query {int l, r, ans, id;bool operator <(const Query &o) const { return id < o.id; }
} q[N];bool cmp(Query q1, Query q2) { return q1.r < q2.r; }int a[N], Min[N << 2];int ls(int p) { return p << 1; }int rs(int p) { return p << 1 | 1; }void pushup(int p) { Min[p] = min(Min[ls(p)], Min[rs(p)]); }void update(int p, int lp, int rp, int pos, int val) {if (lp == rp) {Min[p] = val;return;}int mid = (lp + rp) >> 1;if (pos <= mid) update(ls(p), lp, mid, pos, val);else update(rs(p), mid + 1, rp, pos, val);pushup(p);
}int query(int p, int lp, int rp, int l) {if (lp == rp) return lp;int mid = (lp + rp) >> 1;if (Min[ls(p)] < l) return query(ls(p), lp, mid, l);return query(rs(p), mid + 1, rp, l);
}int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int n, m, V = 2e5 + 1;cin >> n >> m;for (int i = 1; i <= n; ++i) cin >> a[i];for (int i = 1; i <= m; ++i) cin >> q[i].l >> q[i].r, q[i].id = i;sort(q + 1, q + m + 1, cmp);int now = 1;for (int i = 1; i <= m; ++i) {while (now <= n && now <= q[i].r) update(1, 0, V, a[now], now), ++now;q[i].ans = query(1, 0, V, q[i].l);}sort(q + 1, q + m + 1);for (int i = 1; i <= m; ++i) cout << q[i].ans << '\n';return 0;
}
http://www.jsqmd.com/news/403977/

相关文章:

  • 2026年马达加斯加公司注册厂家最新推荐:北京境外投资备案ODI、境外投资备案ODI公司、广州境外投资备案ODI选择指南 - 优质品牌商家
  • 驻马店农资服务商2026选购指南:实力排名与案例解析 - 2026年企业推荐榜
  • 2026年评价高的BVI公司注册公司推荐:上海境外投资备案ODI、企业境外投资备案ODI、北京境外投资备案ODI选择指南 - 优质品牌商家
  • 2026年温州优秀猫玩具激光笔厂家精选 - 2026年企业推荐榜
  • 2026年公司注册厂家最新推荐:新加坡公司注册/泰国公司注册/海外ODI备案代办/海外投资备案ODI/深圳ODI备案代办/选择指南 - 优质品牌商家
  • 2026年评价高的螺丝公司推荐:特殊螺丝/螺丝精密轴/异形螺丝/机械牙螺丝/梅花螺丝/高精密螺丝/螺丝CNC车件/选择指南 - 优质品牌商家
  • 2026年S5代理公司权威推荐:代理IP、加速器、动态IP、宽带多拨、模拟器、短效IP、静态IP、SDK包、http选择指南 - 优质品牌商家
  • 2026年自攻螺丝厂家推荐:梅花螺丝、特殊螺丝、螺丝精密轴、异形螺丝、机械牙螺丝、高精密螺丝、螺丝CNC车件、精密螺丝选择指南 - 优质品牌商家
  • 2026年新疆严寒地区防水卷材品牌综合实力评估报告 - 2026年企业推荐榜
  • Flutter三方库适配OpenHarmony【flutter_web_auth】— Dart 层源码逐行解析
  • 驻马店农资选型指南:2026年如何甄选靠谱的化肥销售伙伴 - 2026年企业推荐榜
  • AI应用架构师亲测:智能问答系统低延迟设计的5个关键技术!
  • Flutter三方库适配OpenHarmony【flutter_web_auth】— OAuth 认证插件功能全景与适配价值
  • Flutter三方库适配OpenHarmony【flutter_web_auth】— OAuth2 协议基础与认证流程拆解
  • 如何实现电商数据的智能化整合与分析
  • AI应用架构师为什么说:法律研究数据挖掘的关键是“场景化AI分析”?
  • 2026年加速器厂家权威推荐榜:短效IP/静态IP/SDK包/http/socks5/代理IP/动态IP/宽带多拨/选择指南 - 优质品牌商家
  • 提示工程架构性能优化:高效策略大汇总
  • Doris与Tableau集成:企业级大数据BI解决方案
  • Java SpringBoot+Vue3+MyBatis 校园社团信息管理pf系统源码|前后端分离+MySQL数据库
  • 别再做“为AI而AI”的场景!架构师必须掌握的“业务价值优先”设计原则
  • Java SpringBoot+Vue3+MyBatis web网上摄影工作室开发与实现pf系统源码|前后端分离+MySQL数据库
  • 2026年静态IP公司权威推荐:socks5/代理IP/动态IP/宽带多拨/模拟器/短效IP/S5代理/SDK包/选择指南 - 优质品牌商家
  • 2026年花生种子优质厂家选购指南与深度解析 - 2026年企业推荐榜
  • 2026年短效IP厂家权威推荐榜:http、socks5、代理IP、加速器、宽带多拨、模拟器、静态IP、S5代理选择指南 - 优质品牌商家
  • 【2025最新】基于SpringBoot+Vue的宠物领养系统管理系统源码+MyBatis+MySQL
  • 2026年评价高的动态IP公司推荐:模拟器、短效IP、S5代理、SDK包、http、socks5、代理IP、加速器选择指南 - 优质品牌商家
  • 2026年360摇滚乐吧车厂家最新推荐:逍遥乐吧车/公园碰碰车/商场碰碰车/地网碰碰车/夜市摆摊碰碰车/广场乐吧车/选择指南 - 优质品牌商家
  • 2026年逍遥乐吧车厂家最新推荐:商场碰碰车、地网碰碰车、夜市摆摊碰碰车、广场乐吧车、广场电瓶碰碰车、户外网红碰碰车选择指南 - 优质品牌商家
  • 输了游戏却赢了Respect 黄晓明在东北雪原上用“脚动档”滑出了最稳的安全感