线性数据结构 2:根路径度数_随笔
线性数据结构 2:根路径度数
问题形式:给定一棵树, 次询问 表示求 到根路径上第 小的度数,可离线。
弱化版:求 这个度数的 ,即询问有多少个 它的。
度数的核心优势就是可遍历,但我们还不知道如何使用。
让我们先来解决弱化版,考虑直接 ,维护祖先栈的信息,现在我们要支持加入一个度数,求度数前缀和。
度数是可遍历的!果断把前缀和改成后缀和,遍历更新,做完了。
那么问题来了,第 小怎么求呢?
考虑直接维护答案数组,答案数组是一个分段函数,如果我们往其中扔了一个度数,造成的结果是某个位置往后集体平移。
这集我会,先把第 小变成第 大,然后需要平移的就只有 段,而平移的代价是修改段端点,于是我们记录每个度数的端点即可简单修改,查询直接访问答案数组即可。
评论
评论插件加载失败
正在加载评论插件