【发布时间】:2015-03-13 14:47:04
【问题描述】:
在给定的 MST(或有根树)上,我们可以执行以下任务:
-
给以 x 为根的给定子树中的所有节点添加值 A。
[Answered] Using Euclidean path, first and last appearance of x. 报告从 i 到 j 的路径上的最大值。
哪个数据结构/算法将花费最少的时间进行两个查询? 我不需要代码。我只想知道解决方案背后的想法。
【问题讨论】:
-
我会将我的错误答案作为评论发布,因为它有助于第一部分:您可以结合使用欧拉之旅和线段树来有效地执行 (1)。但不确定(2)。
-
感谢您的一半回答 :) 没有讽刺
-
有趣的问题。 Euler 巡回树非常适合扩充整个子树,但不能做路径。链接/切割树可以增加路径,但不能做子树。我想知道是否有一个现有的数据结构可以两者兼得?
-
@templatetypedef 有两行(粗略)的修改来链接/切割树。
标签: algorithm data-structures tree