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

一些 DS

如题。

登山计划

给定两个长为 \(n\) 的序列 \(a,b\)\(Q\) 次询问,给定 \(L,R,k\),求:

\[\min_{L \leq l \leq r \leq R \wedge r-l+1=k} |\min_{i=l}^{r} a_i- \min_{i=l}^{r} b_i| \]

\(n \leq 2\times 10^5,Q \leq 5\times 10^5\)

不妨先思考若 \(L=1,R=n\) 怎么做。考虑分治。

对于当前分治中心 \(mid,mid+1\),记: \(la_i = min_{j=i}^{mid} a_j,ra_i = min_{j=mid+1}^{i} a_j,lb_i = min_{j=i}^{mid} b_j,rb_i = min_{j=mid+1}^{i} b_j\)
那么一段区间 \([l,r]\) 的答案可以描述为 \(|min(la_l,ra_r) - min(lb_l,rb_r)|\),由于前缀 min 单调不增,后缀 min 单调不减,转化为静态 RMQ 问题后不难 \(O(n\log^2 n)\) 求出。

而对于所有的 \(L,R\),考虑采用线段树分治的方式,给所有跨过对应分治中心 \(mid,mid+1\) 的节点都挂上这个询问。对于整的被覆盖的节点,上文已经在 \(O(n\log n)\) 内求出了所有答案。而对于没有被完全覆盖的节点,其计算答案和正常分治只有一些取值范围的差别,故我们可以直接调用分治时的信息 \(O(1)\) 求出。这样挂的节点数一共是 \(O(\log n)\) 的,回答是 \(O(1)\) 的,总复杂度 \(O(n \log^2 n+Q \log n)\)

苦涩

你需要维护 \(n\) 个初始为空的可重集,支持一下三个操作:

  • \([l,r]\) 中的集合插入一个数 \(k\)
  • \(x\)\([l,r]\) 中所有可重集的所有数的最大值,对所有 \([l,r]\) 含有 \(x\) 的集合删去一个 \(x\)
  • 查询 \([l,r]\) 中所有可重集的所有数的最大值。

\(n,m \leq 10^5,k \leq 10^9\)

第二个删除的操作特别麻烦。

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

相关文章:

  • newDay22
  • B4324 双向链表
  • 系列最便宜!苹果iPhone 17e要来了:60Hz低刷灵动岛屏幕
  • Codeforces Round 1065 (Div. 3)
  • 代码随想录算法训练营第四天:链表part02
  • CF2027A-Rectangle Arrangement
  • 线段树全家桶
  • 用 Node.js 实现英文数字验证码识别
  • 用 Rust 和 Tesseract OCR 实现英文数字验证码识别
  • 在Java中调用第三方接口并返回第三方页面
  • 251124省运会结束啦
  • 用 C# 和 Tesseract 实现英文数字验证码识别
  • 有了TCP为什么还需要HTTP?再用RPC?这次彻底讲明白了
  • 11.24午夜盘思
  • Java调用第三方接口的方法
  • 2025留学代写危机应对指南:5家靠谱机构助你重返校园
  • 2025美国大学停学应对全攻略:5大靠谱机构助你重返学术轨道
  • 2025美国紧急转学机构推荐深度解析:靠谱机构认准这些核心优势,危机中重启留学之路​
  • 第35天(中等题 数据结构)
  • 2025美国留学求职机构实力解析:你的职场Offer引路人在哪?
  • Universal Fit 3-Button Metal Flip Remote Key (5pcs/lot) – KEYDIY KD NB29-3 for Euro/American Cars
  • 2025美国科研中介TOP5解析:从课题对接至成果落地全程护航
  • 根据缺少的文件查找deb包
  • 第一个Vue2程序
  • 2025美国留学生求职中介TOP5:厚仁教育领衔,精准匹配名企资源
  • CF1097F Alex and a TV Show
  • Git 最速上手
  • Ubuntu 24.04 安装 libncurses.so.5
  • Universal 3-Button Flip Remote Key for VW - 5pcs/Lot (VW Compatible, Mechanic Owner Friendly)
  • 48