题目大意:

https://www.luogu.org/problemnew/show/P1736

题解

dplr[][] 当前点左边(副对角线时为右边)有多少个连续的0

dpup[][] 当前点上边有多少个连续的0

dp[][] 当前点左上有多少个连续的符合要求的1

主对角线时 dp[ i ][ j ]=min(dp[ i-1 ][ j-1 ],min(dplr[ i ][ j-1 ],dpup[ i-1 ][ j ]))+1;

原数组  dplr[][]  dpup[][]  dp[][]

1 0 0   0 1 2   0 1 1   1 0 0

0 1 0   1 0 1   1 0 2   0 2 0

1 0 1   0 1 0   0 1 0   1 0 2

首先 对于一个正方形矩阵来说 其边长上鱼的个数和对角线上鱼的个数是相等的

所以 dp[ i ][ j ]  在 dp[ i-1 ][ j-1 ]、dplr[ i ][ j-1 ]、dp[ i-1 ][ j ] 中取小

相当于查看其 左上的 [i-1][j-1]子矩阵、第i行当前点以左、第j列当前点以上 符合要求的长度

#include <bits/stdc++.h>
using namespace std;
int n,m,a[][],dp[][];
int dplr[][],dpup[][];
int main()
{
while(~scanf("%d%d",&n,&m)) {
int ans=; memset(dp,,sizeof(dp));
memset(dplr,,sizeof(dplr));
memset(dpup,,sizeof(dpup));
for(int i=;i<=n;i++)
for(int j=;j<=m;j++) { /// 主对角线
scanf("%d",&a[i][j]); if(a[i][j])
dp[i][j]=min(dp[i-][j-],min(dplr[i][j-],dpup[i-][j]))+;
else {
dplr[i][j]=dplr[i][j-]+;
dpup[i][j]=dpup[i-][j]+;
} ans=max(ans,dp[i][j]);
} memset(dp,,sizeof(dp));
memset(dplr,,sizeof(dplr));
memset(dpup,,sizeof(dpup));
for(int i=;i<=n;i++)
for(int j=m;j>=;j--) { /// 副对角线
if(a[i][j])
dp[i][j]=min(dp[i-][j+],min(dplr[i][j+],dpup[i-][j]))+;
else {
dplr[i][j]=dplr[i][j+]+;
dpup[i][j]=dpup[i-][j]+;
} ans=max(ans,dp[i][j]);
} printf("%d\n",ans);
} return ;
}

最新文章

  1. 编写轻量ajax组件02-AjaxPro浅析
  2. java:警告:[unchecked] 对作为普通类型 java.util.HashMap 的成员的put(K,V) 的调用未经检查
  3. 微信&quot;流量红包&quot;的玩法攻略 广东移动用户有福啦
  4. 无题 MVC
  5. C#-ado.net-属性扩展
  6. python标准模块(二)
  7. 正在使用MJRefresh &amp; MJExtension的App
  8. 高点击率的Banner设计14招
  9. elasticsearch中的mapping映射配置与查询典型案例
  10. cf446C DZY Loves Fibonacci Numbers
  11. spring+hibernate删除单条记录的几种方法
  12. Xen创建新虚拟机
  13. CAS5.3.X 配置备忘
  14. Solr全文检索
  15. Oracle SQL——varchar2() 和 char()关联查询 存在空格
  16. Eclipse代码自动补全
  17. asp.net mvc session锁问题 (转载)
  18. 解决3 字节的 UTF-8 序列的字节 3 无效
  19. gitlab 配置 ssh key
  20. asp.net mvc webconfig配置文件操作

热门文章

  1. BASS HOME
  2. CSS盒模型及应用
  3. NX二次开发-UFUN体找边UF_MODL_ask_body_edges
  4. NX二次开发-获得制图中对象的坐标点UF_DRF_ask_origin
  5. hdu4352-XHXJ&#39;s LIS状压DP+数位DP
  6. Spring-Security (学习记录一)--登录
  7. git 安装 使用过程遇到的问题
  8. 20140403 opencv GPU安装
  9. 20140321 sizeof 虚函数与虚函数表 静态数组空间 动态数组空间 位字段
  10. 在html页面引用css文件的方法