Official

H - Hierarchical Phylogeny Editorial by hos_lyric


より詳しい解説:https://hos-lyric.hatenablog.com/entry/2021/01/14/201231

\(S \subseteq \{0, \ldots, N - 1\}\) について,根のラベルが \(S\) であるような木の個数を \(f(S)\) とすると,\(*\)subset convolution として \(f = L + \frac{1}{2} (f * f)\) が成り立ちます.

二次方程式として解くと \(f = 1 - \sqrt{1 - 2L}\) となります.より丁寧には,\(g * g = 1 - 2 L\) かつ \(g(\emptyset) = 1\) なる \(g\) によって \(f = 1 - g\) となります.このような \(g\) は一意に存在し,subset convolution のアルゴリズムにおいて多項式の積を計算するパートで代わりに形式的冪級数としての sqrt をとることによって求められることが知られています.時間計算量は \(O(2^N N^2)\) です.

posted:
last update: