P1387 最大正方形
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 最大正方形相关推荐
- 洛谷 P1387 最大正方形
P1387 最大正方形 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=10 ...
- 【每日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] ...
- 洛谷 [P1387] 最大正方形
本题非常有趣. (n^6) 枚举四个端点,每次遍历矩阵求解. (n^4) 先处理前缀和,枚举四个端点,每次比较前缀和和正方形面积. (n^3) 枚举左上方端点,在枚举边长,前缀和优化 (n^2logn ...
- (Java实现) 洛谷 P1387 最大正方形
题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m ...
- ACM入门之【前缀和】
前缀和在ACM中算是一个简单易学,且十分重要的一个算法. 前缀和的种类: 一维前缀和 二维前缀和 高维前缀和(比较少见) 树上前缀和 对于一维前缀和,它可以解决O(1)的时间复杂度来获取某一区间的和. ...
- [JSOI2008]Blue Mary的战役地图——全网唯一一篇dp题解
全网唯一一篇dp题解 网上貌似全部都是哈希+二分(反正我是大概baidu了翻了翻)(还有人暴力AC了的..) 哈希还是相对于dp还是比较麻烦的. 而且正确性还有可能被卡(当然这个题不会) 而且还容易写 ...
- 极大化思想/悬线法题集
用于解决最大子矩阵问题 P1387 最大正方形 题意: 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 数据范围:n,m<=100 解法: 悬线法计算出每个点左右上三 ...
- 动态规划--from zpz
版权声明:copy from zpz,我可能要修改 https://blog.csdn.net/qq_40828060/article/details/83064425 文章目录 前言 记忆化搜索 动 ...
- 动态规划,且学且放弃
文章目录 前言 记忆化搜索 动态规划的基本解题思路 背包问题 01背包 (待处理)P1489 猫狗大战 01背包的空间优化问题 P1048 采药 P1510 精卫填海 P1566 加等式 P1504 ...
最新文章
- mongodb不等于某个值_MongoDb进阶实践之四 MongoDB查询命令详述
- 深度学习100+经典模型TensorFlow与Pytorch代码实现大合集
- winpython使用教程-winpython是什么
- linux内核杂记(4)-线程(1)
- elasticsearch索引和映射
- JDK8新特性之函数式接口
- linux怎么休眠快捷键,在Deepin系统中创建右键休眠选项的方法
- java8 自动关闭资源_java9系列第二篇-资源自动关闭的语法增强
- it有啥好咨询的_蓝盟浅析,IT外包的四种常用方式
- 脱离 Windows 完全使用 Linux你花了多少时间适应?
- java j2se下载_J2SE基础之下载eclipse并创建项目
- html5期末大作业课程设计仿苹果官网(源码+报告)
- vue2.0自学教程(一):走进vue2.0大观园
- 二项式系数(枚举+二分+二项式定理)
- html5 游戏 动画设计,11款效果惊艳的HTML5动画应用
- MarkDown语法详解
- layui使用label标签
- 赠书福利丨被马斯克送上天的《银河帝国》和互联网江湖
- 【KAFKA】kafka可视化工具kafkaTool 免费下载
- vue中不同模块间的跳转
热门文章
- PHP高性能输出UNICODE正则汉字列表 汉字转拼音多音字解决方案 搜索引擎分词细胞词库更新 搜狗词库提取TXT...
- Linux sync命令的作用分析
- 与IO相关的等待事件troubleshooting-系列9
- HDU 2176(Nim博弈)
- ffmpeg 配置与编译
- .NET Remoting开发系列:(三) Remoting服务发布方式
- Lombok中关于@Data的使用
- superset设置自动刷新
- org.apache.hadoop.hbase.PleaseHoldException: Master is initializing(解決方案汇总+自己摸索)
- no module named 'social_core'