不相交联合 - 查找压缩分析。
我们将按节点划分节点。然后我们将队伍划分为 等级组。在每个发现,我们将存入一些美国硬币 一般小猫和一些加拿大硬币到特定的顶点。至 计算存入的加拿大硬币总数,我们将计算 每个节点的存款。通过将每个节点的所有存款相加 等级r,我们将得到每个等级r的总存款。然后我们将加起来 g组中每个等级r的所有存款,从而获得 每个等级组的总存款g。最后,我们将所有内容加起来 每个等级组g的存款以获得加拿大人的总数 存放在森林里的硬币。将此添加到美国人的数量 小猫中的硬币给了我们答案。
对于每个顶点v,在从表示i的顶点到的顶点的路径上 root,我们在两个帐户之一存入一分钱:
如果v是根,或者v的父是root,或者是 v的父级与v的级别组不同,然后收取一个单位 根据这条规则。这将美国便士存入猫咪。
- 醇>
否则将加拿大便士存入顶点。
为了对规则2下的所有加拿大存款进行一次很好的估计,我们 将按顶点而不是通过查找指令累加存款。 如果硬币根据规则2存入顶点v,则v将被移动 路径压缩并获得一个比旧的更高级别的新父级 家长。 (这是我们使用路径压缩的事实 因此,等级组g中的顶点v> 0。 0最多可以移动 F(g) - F(g - 1)次在其父级被推出排名组之前 g,因为那是等级组的大小。*发生这种情况后,全部 未来对v的收费将根据规则1进行。
我对上述文字的质询是
谢谢!
答案 0 :(得分:0)
在原文中,在您引用的部分之上,它表示“任何等级组中的等级数,g> 0,因此F(g) - F(g - 1)”
作者并未完全确定您查询的内容,并且节点确实可以移动任意次数。作者得出的结论是,一旦节点被路径压缩移动了F(g) - F(g - 1)次,它被移动到的父节点就不能与节点在同一个等级组中,因为每次移动节点时,它都会获得具有更高排名的父级。在此之后发生F(g) - F(g - 1)次,其父级不能在同一级别组中。
这一点的重要性在于,该节点的所有进一步路径压缩移动都在规则(1)下,并存入美国便士,而不是加拿大便士。