0
点赞
收藏
分享

微信扫一扫

SGU 495 Kids and Prizes——概率dp

weednoah 2022-08-17 阅读 19


题意:

n个盒子里装有礼物,m个人随机选择礼物,选完之后空盒子放回

问选中的礼物数的期望。

思路:

m个人是独立的。
对于每个礼物不被人选中的概率为((n-1)/n)^m
那么不被选中的礼物数的期望就是 n*((n-1)/n)^m

所以答案就是  n-n*((n-1)/n)^m;

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
double dpow(double a, int n) {
double ans = 1;
while (n) {
if (n & 1) ans *= a;
a *= a;
n >>= 1;
}
return ans;
}
int main() {
int n, m;
while (~scanf("%d%d", &n, &m)) {
double ans = n - 1.0*n*dpow(1.0*(n-1)/n, m);
printf("%.9f\n", ans);
}
return 0;
}

 

举报

相关推荐

0 条评论