#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<map>
#include<queue>
using namespace std; const int maxn=+;
char s[maxn][maxn];
int n,m;
int c[maxn][maxn];
int sum[*maxn][*maxn];
int ans[maxn]; int main()
{
int T;
//freopen("F:\\in.txt","r",stdin);
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&m);
memset(sum,,sizeof sum);
memset(ans,,sizeof ans);
// memset(c,0,sizeof c);
for(int i=;i<n;i++) scanf("%s",s[i]);
for(int i=;i<=n;i++) for(int j=;j<=n;j++) c[i][j]=s[i-][j-]-''; for(int i=;i<=*n;i++)
for(int j=;j<=*n;j++)
{
if(i>n||j>n)sum[i][j]=sum[i-][j]+sum[i][j-]-sum[i-][j-];
else sum[i][j]=sum[i-][j]+sum[i][j-]-sum[i-][j-]+c[i][j];
} for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
if(c[i][j]==) continue;
int left,right,mid;
int anslen;
left=;right=n;
while(left<=right)
{
mid=(left+right)/;
int s=sum[i+mid-][j+mid-]-sum[i+mid-][j-]-sum[i-][j+mid-]+sum[i-][j-];
if(s==mid*mid)
{
anslen=mid;
left=mid+;
}
else right=mid-;
}
ans[anslen]++;
}
} for(int i=n-;i>=;i--) ans[i]=ans[i]+ans[i+];
//for(int i=1;i<=n;i++) printf("%d %d\n",i,ans[i]); for(int i=;i<=m;i++)
{
int x;
scanf("%d",&x);
printf("%d\n",ans[x]);
} }
return ;
}

计算机学院大学生程序设计竞赛(2015’12) 1006 01 Matrix的更多相关文章

  1. hdu 计算机学院大学生程序设计竞赛(2015’11)

    搬砖 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Submissi ...

  2. 计算机学院大学生程序设计竞赛(2015’11)1005 ACM组队安排

    1005 ACM组队安排 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Pro ...

  3. 计算机学院大学生程序设计竞赛(2015’12)Study Words

    Study Words Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  4. 计算机学院大学生程序设计竞赛(2015’12)Polygon

    Polygon Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  5. 计算机学院大学生程序设计竞赛(2015’12)The Country List

    The Country List Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  6. 计算机学院大学生程序设计竞赛(2015’12) 1008 Study Words

    #include<cstdio> #include<cstring> #include<map> #include<string> #include&l ...

  7. 计算机学院大学生程序设计竞赛(2015’12) 1009 The Magic Tower

    #include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using ...

  8. 计算机学院大学生程序设计竞赛(2015’12) 1003 The collector’s puzzle

    #include<cstdio> #include<algorithm> using namespace std; using namespace std; +; int a[ ...

  9. 计算机学院大学生程序设计竞赛(2015’12) 1004 Happy Value

    #include<cstdio> #include<cstring> #include<cmath> #include<vector> #include ...

随机推荐

  1. 去掉uitableveiw多余的分割线

    UIView *v = [[UIView alloc] initWithFrame:CGRectZero]; [_tableView setTableFooterView:v];

  2. tar.gz tar.bz2 解压

    从网络上下载到的源码包, 最常见的是 .tar.gz 包, 还有一部分是 .tar.bz2包   要解压很简单 :   .tar.gz     格式解压为          tar   -zxvf   ...

  3. 好用的API文档--在线版

    安卓在线api http://www.android-doc.com/reference/packages.html

  4. libevent在windows下使用步骤详解

    一 环境 官方下载地址:http://libevent.org/版本:libevent-2.0.22-stable 二 编译静态库 1 解压把上面下载到libevent-2.0.22-stable.t ...

  5. sql server多行数据(一列)转换成一个字段

    create table #test ( id int not null, memeo int not null ) ,) ,) ,) )) ,,'') drop table #test 总结: 格式 ...

  6. 静默方式安装window oracle

    1. setup.exe -silent -responseFile "C:\app\software\WIN64_11204\RSP\db_install_window.rsp" ...

  7. java中json数据生成和解析(复杂对象演示)

    1.json简单介绍 1.1 json是最流行和广泛通用的数据传输格式,简称JavaScript Object Notation,最早在JavaScript中使用. 1.2 举个例子,下面是一个jso ...

  8. “strcmp()” Anyone?

    “strcmp()” Anyone? strcmp() is a library function in C/C++ which compares two strings. It takes two ...

  9. OpenGL------显示列表

    我们已经知道,使用OpenGL其实只要调用一系列的OpenGL函数就可以了.然而,这种方式在一些时候可能导致问题.比如某个画面中,使用了数千个多边形来表现一个比较真实的人物,OpenGL为了产生这数千 ...

  10. struts2获得提交是get还是post方法提交

    String method=ServletActionContext.getRequest().getMethod(); System.out.println(method); 如果是get  会打印 ...