很难考虑矩形覆盖的问题,但可以考虑每一个点被覆盖的概率/期望(把矩形分成九部分后容斥即可),sigma起来即答案

1 #include<bits/stdc++.h> 2 using namespace std; 3 int t,n,m,k; 4 long long s,sum; 5 double ans; 6 int main(){ 7 scanf("%d",&t); 8 for(int ii=1;ii<=t;ii++){ 9 scanf("%d%d%d",&n,&m,&k); 10 ans=0; 11 sum=1LL*n*n*m*m; 12 for(int i=1;i<=n;i++) 13 for(int j=1;j<=m;j++){ 14 s=4LL*i*j*(n-i+1)*(m-j+1)-2*i*(n-i+1)-2*j*(m-j+1)+1; 15 ans+=1-pow(1.0*(sum-s)/sum,k); 16 } 17 printf("Case #%d: %.0f\n",ii,ans); 18 } 19 }