生成函数 + 拉格朗日反演 + 多项式操作.
设 $f(x)$ 表示权值为 $x$ 的神犇多叉树的个数,边界为 $f(1)=1$ .
转移时,枚举根节点有 $k$ 个孩子,转移是将他们全部卷积起来.
设 $F(x)$ 是答案的生成函数,则
$$
F(x)=\sum_{k\in D} F^k(x) + x
$$
可以找出它的复合逆 $G(x)=x-\sum_{k\in S} x^k$ .
保证了 $S$ 中的元素 $\ge 2$ ,所以 $F,G$ 的常数项都为 $0$ , $1$ 次项系数都为 $1$ .
于是可以用拉格朗日反演求出 $[x^n] F(x)$ .
$$
[x^n] F(x)=[x^{n-1}] \frac 1 n (\frac{x}{G(x)})^n
$$
1 | //%std |