Random heavy light decomposition
Разница между en1 и en2, 2 символ(ов) изменены
How do you usually build HLD?↵

Usually we calculate $sz_v$ — size of subtree of $v$. Then from $v$ we go to $u$ with largest $sz_u$ ($u$ is child of $v$). And this is still good way, but today I want to show you something different.↵

What if from $v$ we go to the random vertex $u$ in the whole subtree of $v$. It is the same as choosing to go to the $u$ ($u$ is child of $v$) with probability $\frac{sz_u}{sz_v - 1}$, so the probability of edge $v, u$ to be heavy is $\frac{sz_u}{sz_v - 1}$. Intuitively we should go the largest subtree.↵

### Proof↵

Let's proof it works well. For vertex $v$ the expected value number of light edges on the way to root is $\sum_{i = 1}^{i < |u|}{1-\frac{sz_{u_i}}{sz_{u_{i + 1}} - 1}}$, where $u$ is vertexes on way from $v$ to root. Let $a_i$ be $sz_{u_i}$. Then $a$ is an increasing array and we know that $a_{h_v}$ equals to the size of the whole tree.↵
$\sum_{i = 1}^{i < |a|}{1-\frac{a_i}{a_{i + 1} - 1}} \leq \sum_{i = 1}^{i < |a|}{\frac{a_{i + 1} - a_i}{a_{i + 1}}}$.↵

$\frac{a_{i+1} - a_i}{a_{i+1}} \le \int_{a_i}^{a_{i+1}} \frac{1}{x} \, dx = \ln(a_{i+1}) - \ln(a_i)$↵

$\sum_{i = 1}^{i < |a|}{1-\frac{a_i}{a_{i + 1} - 1}} \leq ln(a_{|a|})$.↵

So we have expected value number of light edges on the way is less than $ln(n)$.↵

### 
uUsages↵

remain to the reader

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en2 Английский PvPro 2026-02-17 20:56:27 2 (published)
en1 Английский PvPro 2026-02-17 20:32:07 1355 Initial revision (saved to drafts)