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

AT_iroha2019_day4_l 题解

题意:有一个数轴, \(Q\) 次操作,三种操作类型:

  • 1.在位置为 \(x\) 处插入权值为 \(w\) 的数,不会在有数的位置重复插入。
  • 2.删除位置 \(x\) 处的数,保证删前 \(x\) 处有数。
  • 3.给定位置 \(x\) ,对于一个数轴上有数的位置 \(y\) ,定义其价值为 \(\frac{w_y}{|y-x|}\) ,查询最大价值。

先假设没有修改操作。

对于一个查询 \(x\) ,我们可以分开处理小于 \(x\) 的位置和大于 \(x\) 的位置。不妨先考虑大于 \(x\) 的位置。把每一个数看作是二维平面上的一个点,一个点能成为哪些位置的最优选择?

如图,对应颜色的线条为该点所能影响的区域。我们可以维护一个凸包。

加上修改,可以考虑线段树分治,对于操作时间建立线段树,统计每一个修改和查询对应的时刻区间。对于每个线段树上的节点维护一个凸包,本题求的是区间max,两个时间区间的答案可以直接合并。

按在数轴上的位置将插入和查询从右到左排序,依次在线段树上插入和查询。

对于在查询左边的情况也是类似的

http://www.jsqmd.com/news/6195/

相关文章:

  • 2025.9.29
  • AtCoder AGC073 A 题解
  • Bilibili音频播放器开发 2025-9-29
  • 防爬虫逆向日志爆炸,精简追踪不崩浏览器控制台 - 详解
  • 使用 Jenkins 的流水线方案实施 CI/CD
  • 递增子序列笔记
  • MonoDETR(2)
  • 记录---window.close()失效 + Chrome浏览器调试线上代码
  • 启发式合并 [USACO22DEC] Making Friends P
  • 加密的病例单
  • 【多线程】什么是原子操作(Atomic Operation)? - 详解
  • 详细介绍:视频融合平台EasyCVR构筑智慧交通可视化管理与智能决策中枢
  • docker 在x86上build arm 镜像
  • 9.29软工
  • 不一样的.NET烟火,基于Roslyn的开源代码生成器
  • 详细介绍:深入浅出 XSS — 从原理到实战与防护
  • vxe-table 数据量过大时切换空白
  • 复刻江协旋钮控制模块
  • 第三方控件库的添加和使用
  • 实用指南:基于 HTML、CSS 和 JavaScript 的智能图像灰度直方图匹配系统
  • C4NR PVP服务器1.2 天穹炮塔更新
  • 树形dp [JOI Open 2020] 发电站 / Power Plant
  • 深入解析:灵画-AI绘画小程序
  • 实用指南:CAN邮箱深度解析:从硬件架构到实战应用
  • 产品排序
  • c语言switch和if语句
  • Qt(制作一个方便的文本编辑器)
  • DeepSeek-V3.2-Exp 完整分析:2025年AI模型突破与稀疏注意力技术深度解析
  • Java EE初阶启程记05---线程安全 - 指南
  • tldr的安装与利用