2018-08-16

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

题意:

略。

4 4

0 0 1 1      把这个翻译成dp的形式   0 0 1 1

0 1 1 1              0 1 1 2

1 1 1 1         —>          1 1 2 2

0 1 1 1              0 1 2 3

好了,就不难理解dp[i][j]存放的就是在i*j的区域中存在的最大正方形,而找dp[i-1][j-1],dp[i-1][j],dp[i][j-1]

找这3个的最小值,就是保证以 坐标(i ,j)为右下角的正方形的左上角,右上角,左下角为1,(因为dp[i][j]是前面发展出来的)

所以,不用考虑中间可能为0的情况。好了代码如下;

#include<iostream>
#include<cstdio>
using namespace std;
int num[102][102];
int dp[102][102];
int ans;
int main()
{int n, m;scanf("%d%d", &n, &m);for (int i = 1; i <= n;++i)for (int j = 1; j <= m; ++j){scanf("%d", &num[i][j]);if (num[i][j] == 1)dp[i][j] = min(min(dp[i - 1][j], dp[i][j - 1]), dp[i - 1][j - 1]) + 1;ans = max(ans, dp[i][j]);}printf("%d\n", ans);
}

转载于:https://www.cnblogs.com/ALINGMAOMAO/p/9488649.html

P1387 最大正方形相关推荐

  1. 洛谷 P1387 最大正方形

    P1387 最大正方形 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=10 ...

  2. 【每日DP】day3 P1387 最大正方形(奇怪的DP增加了 / 二维前缀和)难度⭐⭐★

    奇怪的DP增加了 这道题,刚看见真是一脸懵逼,看了题解才明白. 本题中神奇的转移方程是: f[i][j]=min(min(f[i][j−1],f[i−1][j]),f[i−1][j−1])+1f[i] ...

  3. 洛谷 [P1387] 最大正方形

    本题非常有趣. (n^6) 枚举四个端点,每次遍历矩阵求解. (n^4) 先处理前缀和,枚举四个端点,每次比较前缀和和正方形面积. (n^3) 枚举左上方端点,在枚举边长,前缀和优化 (n^2logn ...

  4. (Java实现) 洛谷 P1387 最大正方形

    题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m ...

  5. ACM入门之【前缀和】

    前缀和在ACM中算是一个简单易学,且十分重要的一个算法. 前缀和的种类: 一维前缀和 二维前缀和 高维前缀和(比较少见) 树上前缀和 对于一维前缀和,它可以解决O(1)的时间复杂度来获取某一区间的和. ...

  6. [JSOI2008]Blue Mary的战役地图——全网唯一一篇dp题解

    全网唯一一篇dp题解 网上貌似全部都是哈希+二分(反正我是大概baidu了翻了翻)(还有人暴力AC了的..) 哈希还是相对于dp还是比较麻烦的. 而且正确性还有可能被卡(当然这个题不会) 而且还容易写 ...

  7. 极大化思想/悬线法题集

    用于解决最大子矩阵问题 P1387 最大正方形 题意: 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 数据范围:n,m<=100 解法: 悬线法计算出每个点左右上三 ...

  8. 动态规划--from zpz

    版权声明:copy from zpz,我可能要修改 https://blog.csdn.net/qq_40828060/article/details/83064425 文章目录 前言 记忆化搜索 动 ...

  9. 动态规划,且学且放弃

    文章目录 前言 记忆化搜索 动态规划的基本解题思路 背包问题 01背包 (待处理)P1489 猫狗大战 01背包的空间优化问题 P1048 采药 P1510 精卫填海 P1566 加等式 P1504 ...

最新文章

  1. mongodb不等于某个值_MongoDb进阶实践之四 MongoDB查询命令详述
  2. 深度学习100+经典模型TensorFlow与Pytorch代码实现大合集
  3. winpython使用教程-winpython是什么
  4. linux内核杂记(4)-线程(1)
  5. elasticsearch索引和映射
  6. JDK8新特性之函数式接口
  7. linux怎么休眠快捷键,在Deepin系统中创建右键休眠选项的方法
  8. java8 自动关闭资源_java9系列第二篇-资源自动关闭的语法增强
  9. it有啥好咨询的_蓝盟浅析,IT外包的四种常用方式
  10. 脱离 Windows 完全使用 Linux你花了多少时间适应?
  11. java j2se下载_J2SE基础之下载eclipse并创建项目
  12. html5期末大作业课程设计仿苹果官网(源码+报告)
  13. vue2.0自学教程(一):走进vue2.0大观园
  14. 二项式系数(枚举+二分+二项式定理)
  15. html5 游戏 动画设计,11款效果惊艳的HTML5动画应用
  16. MarkDown语法详解
  17. layui使用label标签
  18. 赠书福利丨被马斯克送上天的《银河帝国》和互联网江湖
  19. 【KAFKA】kafka可视化工具kafkaTool 免费下载
  20. vue中不同模块间的跳转

热门文章

  1. PHP高性能输出UNICODE正则汉字列表 汉字转拼音多音字解决方案 搜索引擎分词细胞词库更新 搜狗词库提取TXT...
  2. Linux sync命令的作用分析
  3. 与IO相关的等待事件troubleshooting-系列9
  4. HDU 2176(Nim博弈)
  5. ffmpeg 配置与编译
  6. .NET Remoting开发系列:(三) Remoting服务发布方式
  7. Lombok中关于@Data的使用
  8. superset设置自动刷新
  9. org.apache.hadoop.hbase.PleaseHoldException: Master is initializing(解決方案汇总+自己摸索)
  10. no module named 'social_core'