BZOJ 2969 期望

思路:

我们可以分开算每个格子自己的期望啊...

期望可以累加的

 

那就把这个大格子 分成 9个部分 分别算好了...

 

//By SiriusRen
#include <cmath>
#include <cstdio>
using namespace std;
#define int long long
#define double long double
int w,h,k;
double ans;
signed main(){
    scanf("%lld%lld%lld",&k,&w,&h);
    for(int i=1;i<=w;i++)
        for(int j=1;j<=h;j++){
            int p=(i-1)*(j-1)*(w-i+1)*(h-j+1)+(i-1)*(w-i+1)*h+(i-1)*(h-j)*(w-i+1)*j;
            p+=(j-1)*w*(h-j+1)+w*h+(h-j)*w*j+(w-i)*(j-1)*i*(h-j+1)+(w-i)*h*i+(h-j)*(w-i)*i*j;
            ans+=1-pow(1.0-1.0*p/w/w/h/h,k);
        }
    printf("%.0Lf\n",ans);
}

 

posted @ 2017-03-28 23:36  SiriusRen  阅读(168)  评论(0编辑  收藏  举报