摘要: 部分内容来自 OI-WIKI。 1. 堆 0. 堆的定义 堆是一棵二叉树,满足a56爆大奖在线娱乐节点的键值都大于等于它的父亲节点或者小于等于它的父亲节点。a56爆大奖在线娱乐节点的键值都大于等于它的父亲节点的叫小根堆,a56爆大奖在线娱乐节点的键值都小于等于它的父亲节点的叫大根堆。 优先队列是a56爆大奖在线娱乐抽象数据类型,它是a56爆大奖在线娱乐容器,里面有一些元素,这些 阅读全文
posted @ 2023-04-30 19:08 lrxQwQ 阅读(37) 评论(0) 推荐(1) 编辑
摘要: 一、前言 左偏树是a56爆大奖在线娱乐可以在 $O(\log n)$ 内快速合并的堆式数据结构。 具体来说, 插入一个元素:$O(\log n)$。 查询最值:$O(1)$。 删除最值:$O(\log n)$。 合并:$O(\log n)$。 减少一个元素的值:$O(\log n)$。 同时它可以持久化。 二、定义 阅读全文
posted @ 2023-04-30 19:05 lrxQwQ 阅读(16) 评论(0) 推荐(1) 编辑
摘要: 一、最近公共祖先 最近公共祖先 二、树链剖分 重链剖分 长链剖分 三、树分治 点分治 点分树 四、计数问题 Prufer 序列 阅读全文
posted @ 2023-04-30 19:05 lrxQwQ 阅读(9) 评论(0) 推荐(1) 编辑
摘要: 一、概述 前置知识:树的重心。 1. 经典应用 1 假设a56爆大奖在线娱乐们要统计一棵有 $n$ 个节点的树上所有点对之间距离是 $k$ 的有多少对。注意树上的边有长度。 $n,k\le 10^6$。 一个朴素的算法是遍历树上的所有点对,处理出距离(也就是链的长度)。 时间复杂度 $O(n^2)$。 考虑优化。由于 阅读全文
posted @ 2023-04-30 15:39 lrxQwQ 阅读(15) 评论(0) 推荐(1) 编辑