加速枚举算法的新方法
1. 枚举树与相关引理
在枚举过程中,我们会构建枚举树。对于枚举树中的顶点,存在一些重要的性质和引理。假设顶点 (w) 满足 (T_p(w’) \leq \alpha T(w’))(其中 (w’) 是 (w) 的父顶点),则有 (T_p(w) \leq (\alpha + 1)T(w’)D(w)/D(w’))。由于 (T(w’)) 不大于 (\frac{\alpha}{\alpha + 1}\hat{T}D(u)) 对 (w’) 的所有子顶点 (u) 求和,且子顶点 (D(u)) 的和不大于 (D(w’)),所以 (T(w’) \leq \frac{\alpha}{\alpha + 1}\hat{T}D(w’)),进而可得 (T_p(w) \leq \alpha \hat{T}D(w))。
通过这个引理,我们可以通过估计从根到叶的任何路径中满足该条件的顶点数量来得到 (X^*)。同时,还有如下推论:如果 (\hat{T} = \max_{x\in T}{T(x)/\overline{D}(x)}),那么 (P_{yx} \setminus y) 中的顶点 (w) 满足 (\overline{D}(w)) 大于 (\frac{\alpha}{\alpha + 1}\overline{D}(u)) 对 (w) 的所有子顶点 (u) 求和。
这些条件易于检查,并且通常足以进行分析。接下来,我们将重点介绍有向生成树(DSTs)的枚举算法。
2. 有向生成树的枚举算法
有向生成树的枚举算法是在简单二进制分区算法的基础上,增加了修剪阶段和平衡阶段得到的。
2.1 修剪算法
修剪算法的
超级会员免费看
订阅专栏 解锁全文
1315

被折叠的 条评论
为什么被折叠?



