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

CF2146E

对于数组 \(a\),定义 \(w(a)\)\(a\) 中满足 \(a_i > mex(a)\) 的下标数。现在给定长度为 \(n\) 的数组,对于每个 \(r\), 求出 \(\max\limits_{l = 1}^{r} w(a[l \sim r])\)

考虑枚举 \(x = mex(a)\),设 \(x\) 出现的位置是 \(p_1 < p_2 < \cdots < p_k\)。对于 \(r = p_i\) 是没有贡献的,对于 \(p_i < r < p_{i + 1}\) 的贡献是 \(a_{p_i + 1} \sim a_r\)\(> x\) 的数量(取 \(l = p_i + 1\))。

但是这有个问题,不能保证 \(x\)\(a_{l} \sim a_r\)\(mex\)。但没有关系,因为这个 \(mex\) 一定小于等于 \(x\),且真正的 \(mex\)\(r\) 的贡献肯定不劣于 \(x\)\(r\) 的贡献(\(> mex\) 的数更多)。

\(b_i\) 表示 \(i = mex\) 对当前 \(r\) 的贡献。从左往右扫一遍 \(r\),有一下三种情况:

  • \(a_r = i\)\(b_i \leftarrow 0\)
  • \(a_r > i, b_i \leftarrow b_i + 1\)
  • \(a_r < i\)\(b_i\) 不变。

现在问题就转化为了一个区间加与单点赋值的问题,使用线段树轻松解决。

时间复杂度:\(O(n \log V)\)

此题关键是想到枚举 \(mex\),考虑 \(mex\)\(r\) 的贡献,然后进行扫描线即可。(没想到扫描线纯 sb

http://www.rkmt.cn/news/21116.html

相关文章:

  • 【博客导航】
  • 部署向量数据库milvus
  • 实验一:现代C++初体验
  • 软件工程学习日志2025.10.14
  • CSP-S模拟31 笔记
  • java基础7-字符串
  • 乐云具身活动体验
  • 10.14 闲话:KTT
  • 汽车价格战全面熄火了?不卷价格该卷什么? - 教程
  • 详细介绍:并发编程原理与实战(三十三)AQS框架下手写简易可重入锁的实战解析
  • U-Boot启动探秘:从汇编到命令行的奇幻之旅 - 指南
  • 两数相加-leetcode
  • 线程共享区域
  • 运行时数据区
  • AI4S Cup学习赛 - 超导体临界温度预测
  • Linux之线程池 - 指南
  • 5G x 工业应用:探索德承工控机在5G工业应用中所扮演的关键角色 - 实践
  • 背叛 仇恨 消极 如刀子刺穿了铁心 嘲笑 嗤之以鼻 漠然后只剩下孤寂
  • 【论文复现上新】AAAI2025!北理工团队提出FBRT-YOLO:面向实时航拍图像更快更好的目标检测 |计算机视觉|目标检测
  • 亚马逊因暗黑模式订阅设计支付25亿美元和解金
  • 2025年排烟风机厂家推荐榜:混流风机|管道风机|排烟风机|离心风机|轴流风机|轴流风机厂家,专注高效消防与节能,助力多行业绿色升级
  • 详细介绍:iCloud照片共享:在家庭内外分享iCloud照片
  • 对static新的认识
  • Excel - lookup()
  • 2025 佛山铝合金/系统/断桥铝/耐用/推拉/封阳台/别墅/静音门窗厂家品牌实力推荐:聚焦技术与服务的五大优选标杆
  • 说说新版畅联云的一些重要约定
  • App.vue(完整可运行示例)
  • Avalonia Behaviors 在 StackPanel 空白处无效问题解析与解决方案
  • 完整教程:Django 入门:快速构建 Python Web 应用的强大框架
  • 高级语言程序第一次作业