首先令 $d_u$ 表示 $u$ 的儿子个数,$c_u=\max(d_u,1)$,选择叶子 $l$ 的贡献就是 $$\frac{\prod c_u}{\prod\limits_{x\in\text{anc}_l}c_x}$$ 然后考虑组合意义,$\frac1{\prod\limits_{x\in\text{anc}_l}c_x}$ 的组合意义显然是从 $1$ 开始每次随机走到一个儿子,走到叶子停下且最后停在 $l$ 的概率,那么所有叶子的概率和显然是 $1$,所以对于一个固定的树结构,其实只要求 $\prod c_u$ 再除以叶子的个数 $L$。
对于一个固定的 $L$,把 $\prod c_u$ 用 product trick 处理,组合意义为对每个非叶子指定一个儿子的方案数。那么加点的任意时刻,对于每个非叶子 $v$ 只需要知道是否已经指定了一个儿子。当前总点数为 $t$,没有指定的非叶子数为 $c$ 的方案数之和为 $f_{L,c}$,那么加一个点有转移: $$f'_{L,c}\gets f_{L,c}\times\frac Lt$$ $$f'_{L,c+1}\gets f_{L,c}\times\frac Lt$$ $$f'_{L+1,c-1}\gets f_{L,c}\times\frac ct$$ $$f'_{L+1,c}\gets f_{L,c}\times\frac {t-L}t$$ 然后初始状态也是可以转移的,时间复杂度 $\mathcal{O}(n(n+m)^2)$。