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

洛谷 P5327

给定一棵大小为 \(n\) 的树和 \(m\) 条链 \(s_i, t_i\),询问有多少对 \((u, v)\) 满足 \(u, v\) 同时在一条链上?

\(n, m \le 10^5\)

一个十分暴力的做法:把一条链剖成 \(\log n\) 个区间,那么这 \(\log n\) 个区间两两都是有贡献的,得到 \(\log^2n\) 个矩形,每个矩形内的点对都是有贡献的。然后对 \(m \log ^2 n\) 个区间做矩形并即可,时间复杂度:\(O(m \log ^3n)\)

但是这个做法太暴力了,考虑只有一维还是拆成 \(\log n\) 个区间,另一维存若干条链(区间内的点和链上的点有贡献)。对于每个点 \(u\),它的贡献就是这若干条链的并,因为它们都经过点 \(u\),用个 set 维护下端点,按 dfs 序排序后求相邻两个点的距离,再除以 \(2\) 即可。(经典套路。)

时间复杂度是两个 log 的。

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

相关文章:

  • 完整教程:mysql表的操作——mysql表的约束
  • 2025年AI/LLM安全围栏/护栏/安全网关选型深度评估
  • 通过重写组件轻松掌握用JSX写Vue项目
  • 鸿蒙应用开发零基础入门:从工具到语言,轻松开启第一步
  • [Python刷题记录]-两两交换链表中的节点-链表-中等
  • #在线工具,柜位图工具
  • 洛谷 P3233
  • 组件理解
  • 搜维尔科技:Xsens动作捕捉系统实时捕捉人体运动数据,为人形机器人提供拟人化动作训练和实时控制支持
  • “模型法线到视图法线”的变换矩阵(normal matrix)的计算和作用
  • 首批凭借!华为云CodeArts Snap智能开发助手通过可信AI智能编码设备评估,获当前最高等级
  • 去年夏天
  • pythontip 字符串首位连接
  • aspose-pdf 修改pdf文件备忘录
  • 函数名与函数地址的关系(函数指针)
  • 第28节:网络同步与多人在线3D场景 - 详解
  • 别再选错!5分钟掌握AI Agent框架选型的方法
  • 完整教程:【Qt MOC预处理器解读与使用指南】
  • Linux - 7 磁盘管理篇
  • java word转 pdf
  • 11-05 题
  • Markdown之Typora语法
  • 运维审计/堡垒机选型 2025:从 SSH 直连|堡垒机绕行的可见性到“命令+返回文本”的内容级证据
  • [题解]P12025 [USACO25OPEN] Sequence Construction S
  • 【日记】我居然解决了三家运营商都没解决的问题(539 字)
  • 深入解析:Jackson 入门:为什么它是 Java JSON 处理的首选?
  • 大模型在流行性乙型脑炎极重型预测及个体化诊疗专业的方案中的应用研究
  • markdown入门(复盘)
  • 卡尔算法哈希表
  • Rust 之二 各组件工具的源码、构建、配置、使用 - 教程