//前缀和求矩阵的内容
for(int x1=1,x2=k;x2<=n;x2++,x1++)//保证x1,x2之间差为k
{
for(int y1=1,y2=k;y2<=n;y2++,y1++)
{sum[x2][y2]-sum[x1][y2]-sum[x2][y1]+sum[x1][y1];
}
}
一个区域的平均数最大为多少的二维版;
bool check(int mid)
{
for(int x1=1,x2=k;x2<=n;x2++,x1++)//保证x1,x2之间差大于等于k
{
int minnum=0;
for(int y1=1,y2=k;y2<=n;y2++,y1++)
{minnum=min(minnum,sum[x1][y2]+sum[x2][y1]-sum[x1][y1],sum[x1][y2],sum[x2][y1]);//只是思路
if(sum[x2][y2]-minnum>=mid)return true;
}
}
return false ;
}