NOI 2018 Day1 T1 归程(Kruskal重构树/可持久化并查集+DIJ)

Description

Solution

  • Kruskal重构树:考虑将边权排序建立关于海拔的最大生成树,合并两个块时并将该边映射为重构树上的一个点,点权为该边海拔,那么在查询点v时,倍增找到满足海拔限制的离根最近的点(因为在重构树上非叶点权从根节点至任意叶节点递增,该点满足海拔限制则该点子树必定满足),查询子树dist最小值即可,复杂度\(O(nlogn)\)

  • 可持久化并查集:很显然的做法:将海拔从大至小排序,依次加边,查询时二分位置即可,复杂度\(O(nlog^2 n)\)

  • 关于SPFA:“它已经死了”
3 1 vote
Article Rating
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments