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

洛谷 P4458

P4458

标签 线段树

因为查询给定的是路径长度的范围,所以对于每个长度都要维护答案。

将修改操作改为 \([1, v]\)\(d\),考虑对长度为 \(len\) 的贡献(算出与长度为 \(len\) 的与 \([1, r]\) 的交集之和即可)。分 \(len < v, len \ge v\) 讨论(设左端点为 \(r\)):

  • \(len < v\),对于 \(len \le r < v\),交集均为 \(len\)。对于 \(r \ge v\),交集为 \(v, v - 1, v- 2 \dots\)。总共 \(len(v - len) + v(v + 1) / 2\)
  • \(len \ge v\),则 \(r \ge v\),交集为 \(len, len - 1, len - 2, \dots\)。总共 \(len(len + 1) / 2\)

但是有一个问题,需要满足 \(r \le n\),把 \(r = n + 1, n + 2 \dots\) 减掉即可(对于两种情况是一样的),交集为 \(v- (n + 1 - len), v - (n + 2 + len), \dots\)。发现这些东西拆开就是区间加 \(k_0, k_1 \cdot len, k_2 \cdot len^2\),用线段树维护即可。

时间复杂度:\(O(m \log n)\)。常数较大。

为了减小常数,x += y 没有写取模,而是写的 (x >= mod) && (x -= Mod)。没有发现 \(y\) 可能 \(< 0\),还要加一句 (x < 0) && (x += Mod)

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

相关文章:

  • http1.1流水线传输方式
  • SLB及健康检查
  • 2025贝赛思考试培训哪家专业?5大优质机构测评,覆盖全阶段备考需求
  • 2025牛客国庆集训派对day7 M C 个人题解 - 教程
  • C++ 中 struct 与 class 的用法与区别
  • PyTorch 分布式训练底层原理与 DDP 实战指南
  • 2025年11月SAT辅导哪家强?机考适配/名师授课/定制方案的机构推荐
  • 07.创建型 - 抽象工厂模式(Abstract Factory Pattern)
  • 模型量化原理
  • 日总结 29
  • AI浪潮下的行业变革:从气象到游戏,我们学到了什么
  • 2025.11.19 C 题解
  • 2025.11.20
  • 【比赛记录】2025CSP+NOIP 冲刺模拟赛合集Ⅵ
  • 智能座舱项目管理中多团队协作的创新之道 - 指南
  • 自指自洽,普世的逻辑,特别的因果
  • 3 分钟上手 SightAI:在你熟悉的工具里直接调用顶级大模型 - sight
  • 聚焦SAT高分核心需求:2025年值得信赖的5大辅导机构,覆盖全阶段备考
  • 2025.11.20博客
  • 2025.11.19 D 题解
  • P11626 [迷宫寻路 Round 3] 七连击 分析
  • 芯谷科技--高性能电动工具直流调速电路GS069 - 指南
  • 【个人成长笔记】在本地Windows系统中如何正确使用adb pull命令,把Linux环境中的记录或文件夹复制到本地中(亲测有效)
  • 钩子
  • IOI 2026 中国国家集训队作业(试题泛做)记录
  • 洛谷 B4411:[GESP202509 二级] 优美的数字 ← 嵌套循环
  • 2025年门窗十大品牌专业选购手册:行业评估报告 + 白皮书指引,选窗更安心!
  • 文字识别系统
  • 2025 门窗十大品牌精准选购指南:行业评估报告 + 白皮书护航,选窗不踩坑!
  • 写的都对_第二次软件工程作业