2020牛客NOIP赛前集训营-提高组(第六场)A 袜子分配
袜子分配
https://ac.nowcoder.com/acm/contest/7615/A
这种期望题一般要不就是对每个点单独计算贡献要不就是算形如的东西。
那么这题是对每个点单独算贡献。
一共有2n只袜子,所以就有2n!种拿法。
将每对袜子拆成两个不一样的,那么他们在一起当且仅当在n个组的同一组内即为种,因为拆成了两个不一样的,所以要乘2。
然后每个袜子对期望的贡献是独立的,所以剩下的2n-2只可以随便排。
那么答案就是,化简后为
。
#include <iostream> #include <cstdio> using namespace std; int main() { int n; scanf("%d", &n); printf("%.10lf", (double) n / (double) (n * 2 - 1)); return 0; }