51Nod-1765-谷歌的恐龙

83 阅读1分钟

ACM模版

描述

描述

题解

这个题是要求期望,根据题意可以获取一个关于期望 E 的方程,

E=p∗∑i = 0n − 1(i + flag ∗ E), p 为每个数字被选中的概率, flag∈{

0,1} 表示数字 i 是否属于 m

解方程后的结果为:

E=n∗(n−1)2∗m

根据公式我们可以知道,这里只和 n、m 有关,和这 m 个数具体是多少无关,所以我们只消得 n、m 即可,后续的数无需读取。

代码

#include <stdio.h>

long long n, m;

int main(int argc, const char * argv[])
{
    scanf("%lld%lld", &n, &m);
    printf("%.6f\n", n * 1.0 * (n - 1) / 2 / m);

    return 0;
}