专栏文章

AT_abc222_h [ABC222H] Beautiful Binary Tree 题解

AT_abc222_h题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miqaj9k9
此快照首次捕获于
2025/12/04 01:38
3 个月前
此快照最后确认于
2025/12/04 01:38
3 个月前
查看原文
首先考虑一棵树合法的充要条件,首先根节点必须是 1,因为最多只能有 n1n-1 次操作,每次操作必须合并两个正权值的节点,否则不合法,其次是不能有两个相邻的 0,否则子树内会存在点必须跳超过一步也不合法。
不难发现这就是充要条件,因为你总能让满足一个上面情况的树的最深的叶子往上跳到一个不为 0 的点处,然后就可以递归了。
接着是计数,考虑设出 F(x)F(x) 表示根节点为 1 的满足条件的树的生成函数,G(x)G(x) 则是根节点可以是 0,企鹅他条件必须满足的生成函数,不难得到:
F(x)=x(F(x)+G(x))2+1,G(x)=F(x)21F(x)=x(F(x)+G(x))^2+1,G(x)=F(x)^2-1
G(x)G(x) 代入就有
F(x)=x(F(x)2+F(x)1)2+1F(x)=x(F(x)^2+F(x)-1)^2+1
C(x)=F(x)1C(x)=F(x)-1,便于我们拉反,就能得到 C(x)=x(C(x)2+3C(x)+1)2C(x)=x(C(x)^2+3C(x)+1)^2,即复合逆为 x(x2+3x+1)2\frac{x}{(x^2+3x+1)^2}
直接扩展拉反,有:
[xn]C(x)=1n[xn1](x2+3x+1)2n=i=0(2ni)(2nin12i)3n12i \begin{align*} [x^n]C(x)&=\frac{1}{n} [x^{n-1}] (x^2+3x+1)^{2n}\\ &=\sum_{i=0}\binom{2n}{i}\binom{2n-i}{n-1-2i}3^{n-1-2i} \end{align*}
于是就做完了。

评论

0 条评论,欢迎与作者交流。

正在加载评论...