【BZOJ4001】【Luogu P3978】 [TJOI2015]概率论
题目描述:
Description:
Input
输入一个正整数N,代表有根树的结点数
Output
输出这棵树期望的叶子节点数。要求误差小于1e-9
Sample Input
1
Sample Output
1.000000000
HINT
1<=N<=10^9
思路:
一眼数学期望(毕竟题目里都已经说了),那期望是什么呢???
在概率论和统计学中,数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和,是最基本的数学特征之一。它反映随机变量平均取值的大小。
\[\text{——百度百科} \]
那这道题目的期望就是\(\text{有n个节点的树的}\frac{\text{叶子节点总个数}}{树的个数}\)了。
那我们康康这里面有什么不为人知的规律吧:
树的个数就是\(Cat_n\)!!!
叶子节点总个数就是\(Cat_{n-1}\times n\)!!!
发现没???
那柿子就是\(\frac{Cat_{n-1}\times n}{Cat_n}\)
当然直接这么做是不行的,你需要把它化简成\(\frac{n^2 + n}{ 4n - 2}\)
代码:
int main()
{
cin >> n;
printf("%.9lf", (n * n + n) / (4 * n - 2)); //公式
return 0;
}