您的位置:首页 > 其它

HDU 5245 上海大都会 J题 (概率期望)

2015-05-29 21:12 369 查看

这道题的概率可以单独考虑每个格子对期望的贡献值。因为其实每个格子是否被选都可以认为是独立的,单独一个格子贡献的期望为1*(该格子K次被选的概率),所以答案其实就是每个格子K次被选中的概率之和。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define LL long long
using namespace std;

int main(){
LL n,m; int k;
int T,icase=0;
scanf("%d",&T);
while(T--){
scanf("%lld%lld%d",&n,&m,&k);
double output=0;
for(LL i=1;i<=n;i++){
for(LL j=1;j<=m;j++){
LL ans=(i-1)*(i-1)*m*m;
ans+=(n-i)*(n-i)*m*m;
ans+=n*n*(j-1)*(j-1);
ans+=n*n*(m-j)*(m-j);
ans-=(i-1)*(i-1)*(j-1)*(j-1);
ans-=(n-i)*(n-i)*(j-1)*(j-1);
ans-=(i-1)*(i-1)*(m-j)*(m-j);
ans-=(n-i)*(n-i)*(m-j)*(m-j);
double p=ans*1.0/(n*n*m*m);
double tmp=1.0;
for(int c=1;c<=k;c++)
tmp*=p;
output+=(1.0-tmp);
}
}
printf("Case #%d: %.0f\n",++icase,(output));
}
return 0;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: