标签:inline 题解 row 解释 mat 不同 方式 翻译 组合
rqy tql %%%
这篇题解就只是在翻译rqy的做法(
这题如果要从代数意义去推导的话很烦而且很难,所以考虑组合意义
设 \(f_n\) 为大小为 \(n\) 的不同二叉树数量,\(g_n\) 为大小为 \(n\) 的不同二叉树数量的叶子节点之和,答案显然就是 \(\frac{g_n}{f_n}\),\(f_n\) 就是我们非常熟悉的卡特兰数了,考虑 \(g_n\) 怎么去做
设一棵大小为 \(n\) 二叉树的叶子节点为 \(k\) 个,如果将这 \(k\) 个叶子节点中的任何一个删去,就可以得到 \(k\) 个大小为 \(n-1\) 的二叉树。倒着考虑,任何一个大小为 \(n-1\) 的二叉树只要添加一个叶子节点就能给 \(g_n\) 增加大小为 \(1\) 的贡献,并且这两句话的本质相同。
那么考虑大小为 \(n-1\) 的二叉树有多少种添加叶子节点的方式。
在此之前讲一些初赛内容:
假定一棵二叉树的大小为 \(n\),有 \(a\) 个节点有两个儿子,有 \(b\) 个节点有一个儿子,有 \(c\) 个节点是叶子节点
显然有 \(\begin{cases} a+b+c=n\ ① \\ 2a+b=n-1\ ② \end{cases}\)
解释 ② 式:除了根节点以外,每个节点都有父亲,所以我们看有多少个节点是作为儿子,②式就显然成立。
\(2 \times ①-② \Rightarrow b+2c=n+1\)
发现 \(b+2c\) 就是我们要求的可以添加叶子节点的方案数(有 \(b\) 个节点有一个空着的地方可以放叶子节点,\(c\) 个节点有两个空着的地方可以放叶子节点),即 \(n+1\)
那么每一个大小为 \(n-1\) 的二叉树有 \(n\) 种添加叶子节点的方式。
因为每一种添加叶子节点的方式都可以给 \(g_n\) 贡献 1,那么 \(g_n=f_{n-1} \times n\)
既然 \(g_n\) 推导出来了,那么 \(\frac{g_n}{f_n}\) 推导出来也是显然的了,答案就是 \(\frac{n\times (n+1)}{2 \times (n-1)}\)
标签:inline 题解 row 解释 mat 不同 方式 翻译 组合
原文地址:https://www.cnblogs.com/limit-ak-ioi/p/13230481.html