Problem
求一个含有 n n n个节点的二叉树的叶子节点的期望个数。
Data constraint
n ≤ 1 0 9 n\le 10^9 n≤109
Solution
考虑 h ( n ) h(n) h(n)表示有 n n n个节点的二叉树个数, f ( n ) f(n) f(n)表示 n n n个节点的二叉树叶子节点个数和,那么所求即为 h ( x ) f ( x ) \frac{h(x)}{f(x)} f(x)h(x)
然后考虑这两个的生成函数,分别设为 H ( x ) , F ( x ) H(x),F(x) H(x),F(x).
枚举左子树大小 i i i,然后 f f f是根据左右子树叶子节点对称,所以有 H n = ∑ i = 0 n − 1 H i ⋅ H n − i − 1 H_n = \sum_{i=0}^{n-1}H_i \cdot H_{n-i-1} Hn=i=0∑n−1Hi⋅Hn−i−1 f n = 2 ∑ i = 0 n − 1 f i ⋅ H n − i − 1 f_n = 2\sum_{i=0}^{n-1} f_i \cdot H_{n-i-1} fn=2i=0∑n−1fi⋅Hn−i−1
那么可以得出 H ( x ) = x H 2 ( x ) + 1 H(x)=xH^2(x)+1 H(x)=xH2(x)+1 F ( x ) = 2 x H ( x ) + x F(x)=2xH(x)+x F(x)=2xH(x)+x
解方程得到:
H
(
x
)
=
1
±
1
−
4
x
2
x
H(x) = \frac{1 \pm \sqrt{1-4x}}{2x}
H(x)=2x1±1−4x
然后对解求极限,发现因为 H ( 0 ) = 1 H(0)=1 H(0)=1,且
lim x → 0 + 1 + 1 − 4 x 2 x = + ∞ \lim_{x \rightarrow 0^+} \frac{1 + \sqrt{1 - 4x}}{2x} = +\infty x→0+lim2x1+1−4x=+∞ lim x → 0 + 1 − 1 − 4 x 2 x = 1 \lim_{x \rightarrow 0^+} \frac{1 - \sqrt{1 - 4x}}{2x} = 1 x→0+lim2x1−1−4x=1
所以解是 H ( x ) = 1 − 1 − 4 x 2 x H(x)=\frac{1 - \sqrt{1-4x}}{2x} H(x)=2x1−1−4x,然后可以得出 F ( x ) = x 1 − 4 x F(x)=\frac{x}{\sqrt{1-4x}} F(x)=1−4xx.
然后根据广义二项式定理展开 1 − 4 x \sqrt{1-4x} 1−4x,可以得到 1 − 4 x = ( 1 − 4 x ) 1 2 = ∑ i = 0 ∞ ( 1 2 i ) ( − 4 x ) i \sqrt{1-4x} = \left (1-4x \right )^{\frac{1}{2}} = \sum_{i=0}^{\infty}{\frac{1}{2} \choose i}(-4x)^i 1−4x=(1−4x)21=i=0∑∞(i21)(−4x)i
考虑第
n
n
n项系数,那么有:
(
−
4
)
n
(
1
2
n
)
=
(
−
4
)
n
1
2
⋅
(
1
2
−
1
)
⋅
(
1
2
−
2
)
⋯
(
1
2
−
n
+
1
)
1
⋅
2
⋅
3
⋯
n
(-4)^n { \frac{1}{2} \choose n } = (-4)^n \frac{\frac{1}{2}\cdot \left( \frac{1}{2} -1 \right)\cdot \left( \frac{1}{2} -2 \right)\cdots \left( \frac{1}{2} - n + 1 \right)}{1\cdot2\cdot3\cdots n}
(−4)n(n21)=(−4)n1⋅2⋅3⋯n21⋅(21−1)⋅(21−2)⋯(21−n+1)
化简得到
−
1
2
n
−
1
(
2
n
n
)
-\frac{1}{2n-1}{{2n} \choose n}
−2n−11(n2n)
于是带入
H
(
x
)
H(x)
H(x)可以得到,
H
(
x
)
=
1
−
1
−
4
x
2
x
=
1
+
∑
i
=
0
∞
1
2
i
−
1
(
2
i
i
)
x
i
2
x
=
∑
i
=
1
∞
1
2
i
−
1
(
2
i
i
)
x
i
−
1
2
H(x) = \frac{1-\sqrt{1-4x}}{2x} =\frac{1+\sum_{i=0}^{\infty}\frac{1}{2i-1}{{2i} \choose i} x^i}{2x} =\frac{\sum_{i=1}^{\infty}\frac{1}{2i-1}{{2i} \choose i} x^{i-1}}{2}
H(x)=2x1−1−4x=2x1+∑i=0∞2i−11(i2i)xi=2∑i=1∞2i−11(i2i)xi−1
化简可以得到
H
(
x
)
=
∑
i
=
0
∞
1
n
+
1
(
2
i
i
)
x
i
H(x)=\sum_{i=0}^{\infty}\frac{1}{n+1}{{2i} \choose i} x^i
H(x)=i=0∑∞n+11(i2i)xi
于是我们得到Catalan数第 n n n项为 1 n + 1 ( 2 n n ) \frac{1}{n+1}\binom{2n}{n} n+11(n2n)
回到原问题,类似的,我们考虑把 F ( x ) F(x) F(x)用广义二项式定理展开,可以得到 F ( x ) = x ∑ i = 0 ∞ ( − 1 2 i ) ( − 4 x ) i F(x)=x\sum_{i=0}^{\infty}\binom{-\frac{1}{2}}{i}(-4x)^i F(x)=xi=0∑∞(i−21)(−4x)i
与上面类似,最终可以得到 f n = ( 2 n − 2 n − 1 ) f_n=\binom{2n-2}{n-1} fn=(n−12n−2)
于是所求为 h ( x ) f ( x ) = n ( n + 1 ) 2 ( 2 n − 1 ) \frac{h(x)}{f(x)}=\frac{n(n+1)}{2(2n-1)} f(x)h(x)=2(2n−1)n(n+1).