【BZOJ4001】【Luogu P3978】 [TJOI2015]概率论

题目描述:

Description:

Input

输入一个正整数N,代表有根树的结点数

Output

输出这棵树期望的叶子节点数。要求误差小于1e-9

Sample Input

1

Sample Output

1.000000000

HINT

1<=N<=10^9

洛谷链接

BZOJ链接

思路:

一眼数学期望(毕竟题目里都已经说了),那期望是什么呢???

在概率论和统计学中,数学期望(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;
}


posted @ 2019-08-24 16:55  Jayun  阅读(274)  评论(0编辑  收藏  举报