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

[PA 2019] Podatki drogowe 题解

超级大好题,每一个部分的实现都很有难度,环环相扣,精彩绝伦。


考虑我们显然不能把 \(O(n^2)\) 的路径们全部列出来排序(我还真这么想过),因此往随机二分的方向想。问题转化成算长度 \(\le\) 当前枚举的长度的路径数,以及随机生成一个长度 \(\in [l,r]\) 的路径。

考虑建立点分树。对于每个子树,我们建一个记录该子树中,所有点按照到子树根距离从小到大排序的数组。这样,一个点在该子树中距离为 \([l,r]\) 的点就都在一个区间 \([L,R]\) 内。同时这个区间内除了到该点距离为 \([l,r]\) 的点以外,只剩下和该点在该子树根节点的同一个儿子子树内的点了。我们用 FHQ-Treap 维护即可。由于 \([L,R]\) 的两个指针都单调递减,所以可以双指针(不过按照指针数量,应该叫三指针)。

这个数组该怎么构建呢?考虑主席树。在本问题中,每个数都能看做一个不会进位的 \(n\) 进制数。因此,我们记录一条路径在 \(n\) 进制下每一位的值,即可通过 \(hash+\) 主席树上二分进行比大小。最棒的是,假如要将 \((rt,x),(rt,y)\) 两条路径合并,那么每一个 \(hash\) 值只需要相加即可,这大大减小了维护难度。构建时间复杂度 \(O(n\log^3n)\)。这个构建显然可以预处理。

构建好这个数组后,其余的内容只需要用 FHQ-Treap + 三指针即可解决,\(check\) 函数时间复杂度 \(O(n\log^2n)\),加上随机二分,总时间复杂度为炒大肠 \(O(n\log^3n)\)

还没敲完。
http://www.gsyq.cn/news/74661.html

相关文章:

  • 2025年实力不错的GEO源头厂家TOP5:甄选企业抢占AI
  • 2025年实力不错的GEO源头厂家TOP5:甄选企业抢占AI
  • 政府智能留样柜服务商推荐,知名度高的智能留样柜厂家全解析
  • 2025年上海财税服务公司排名:宝园财税的服务灵活性、基本信
  • 1分钟AI一键生成歌曲软件推荐
  • 2025年捏合机品牌排名推荐:力创捏合机口碑怎么样?
  • 2025年五大GEO推广服务排行榜,geo推广服务专业?
  • 2025年十大口碑好的智能消毒柜源头厂家推荐,学校智能消毒柜
  • 2025 年 12 月软件开发公司权威推荐榜:创新引擎与高效交付口碑之选
  • 实用指南:2. 单片机基础概述
  • 2025年工业设备智能化整体服务生产厂推荐:看哪家实力强
  • B+Tree(理解索引为什么这样做)
  • 2025年12月车间喷淋喷雾,车间喷雾降尘设备,高压喷雾机厂家最新推荐:喷雾精度与品牌筛选
  • 探秘中臻达:钢结构领域的靠谱之选
  • VC(9.0~14.x)运行库下载链接
  • Kubernetes集群的搭建与DevOps实践(上)- 架构设计篇
  • 2025年景观护栏设计公司五大推荐,景观护栏设计厂家选哪家合
  • 完整教程:C语言变量与输入输出详解——从printf到scanf的全掌握
  • 智能安全帽哪家好?哪家智能安全帽质量管控严
  • 2025激光设备市场权威排名:华工激光引领国产替代浪潮
  • 2025年12月鸡肠粉加工设备厂家推荐:全维度对比排行榜单及选购策略分析
  • 2025年度辽宁诚信的代理记账公司TOP5权威推荐:甄选企业
  • Java团队AI转型避坑指南:3周落地智能体,JBoltAI框架实战拆解
  • 2025年辽宁靠谱的代理记账品牌企业排行榜,新测评精选代理记
  • 2025年半导体点胶机与切割机企业实力排名,看看哪家产品价格
  • nano server 2016
  • 拒绝重复造轮子!JBoltAI 让 Java 开发者专注 AI 应用核心逻辑
  • Scikit-learn与MindSpore的概念对比:相同点、差异及叫法区别
  • 想快速上线AI应用?JBoltAI框架为Java开发者赋能
  • COCO数据集 评估标准中计算 mAP(mean Average Precision) 的核心方法: