最大正方形 同luogu1387
这道题下面这么写就够了(n<=100)暴力,枚举
- #include<bits/stdc++.h>
- #define ULL unsigned long long
- #define MAXN 100+5
- #define f(i,j,n) for(register int i=j;i<=n;i++)
- using namespace std;
- ULL T,a[MAXN][MAXN],n,m;
- int q(int i,int j,int k,int l) {
- f(p,i,j)
- f(q,k,l)
- if(a[p][q]==) return ;
- return min(j-i+,l-k+);
- }
- void solve(int T) {
- int ans=;
- while(T--) {
- memset(a,,sizeof(a));
- cin>>n>>m;
- f(i,,n)
- f(j,,m) {
- int x;
- cin>>x;
- a[i][j]=x;
- }
- f(i,,n)
- f(j,i,n)
- f(k,,m)
- f(l,k,m)
- ans=max(ans,q(i,j,k,l));
- cout<<ans<<endl;
- }
- }
- int main() {
- solve();
- return ;
- }
然后如果说要提升的话(n<=1000) 二维前缀和
- #include<iostream>
- #include<cstdio>
- #include<cctype>
- #include<cstring>
- #include<algorithm>
- using namespace std;
- int n,m,map[][];
- int sum[][];
- void pre(){
- for(int i=;i<=n;i++)
- for(int j=;j<=m;j++)
- sum[i][j]=sum[i-][j]+sum[i][j-]-sum[i-][j-]+map[i][j];
- }
- int main(){
- scanf("%d%d",&n,&m);
- for(int i=;i<=n;i++)
- for(int j=;j<=m;j++)
- scanf("%d",&map[i][j]);
- pre();
- int ans=-;
- for(int i=;i<=n;i++)
- for(int j=;j<=m;j++)
- for(int l=;l<=min(n,m);l++){
- int rx=i+l-,ry=j+l-;
- if(i-+l>n||j-+l>m||sum[rx][ry]-sum[rx][j-]-sum[i-][ry]+sum[i-][j-]!=l*l) break;
- if(ans<l) ans=l;
- }
- printf("%d",ans);
- return ;
- }
然后在提升->(n<=5000)动态规划 DP
- #include<bits/stdc++.h>
- using namespace std;
- int a[][],f[][],ans;
- int main()
- {
- int n,m;
- cin>>n>>m;
- for(int i=;i<=n;i++)
- {
- for(int j=;j<=m;j++)
- {
- cin>>a[i][j];
- if(a[i][j]==) f[i][j]=min(min( f[i][j-],f[i-][j]),f[i-][j-])+;
- {
- ans=max(ans,f[i][j]);
- }
- }
- }
- cout<<ans;
- return ;
- }
最大正方形 同luogu1387的更多相关文章
- luogu1387 最大正方形
P1387 最大正方形 正方形O(n) 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n, ...
- [LeetCode] Matchsticks to Square 火柴棍组成正方形
Remember the story of Little Match Girl? By now, you know exactly what matchsticks the little match ...
- [LeetCode] Maximal Square 最大正方形
Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and ret ...
- 【纯css】左图右文列表,左图外框宽度占一定百分比的正方形,右上下固定,右中自动响应高度。支持不规则图片。
查看演示 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...
- BZOJ1047: [HAOI2007]理想的正方形 [单调队列]
1047: [HAOI2007]理想的正方形 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2857 Solved: 1560[Submit][St ...
- 洛谷 P1387 最大正方形 Label:奇怪的解法
题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m ...
- H5一行显示两个正方形
1)有时候一些图片会是正方形或者长方形,对于这样的图片一般都是居中显示到正方体内,代码如下: .exhibition_list img{width:100%;position: relative;t ...
- 求解最大正方形面积 — leetcode 221. Maximal Square
本来也想像园友一样,写一篇总结告别 2015,或者说告别即将过去的羊年,但是过去一年发生的事情,实在是出乎平常人的想象,也不具有代表性,于是计划在今年 6 月份写一篇 "半年总结" ...
- for 循环 正方形
<?php//================================正方形//for($q = 1; $q <= 5; $q ++ ){// for($z =1; $z & ...
随机推荐
- Hadoop Mapreduce 中的FileInputFormat类的文件切分算法和host选择算法
文件切分算法 文件切分算法主要用于确定InputSplit的个数以及每个InputSplit对应的数据段. FileInputFormat以文件为单位切分成InputSplit.对于每个文件,由以下三 ...
- 介绍一个比较酷东西:HTML5 桌面通知(Notification API)
Notification API 是 HTML5 新增的桌面通知 API,用于向用户显示通知信息.该通知是脱离浏览器的,即使用户没有停留在当前标签页,甚至最小化了浏览器,该通知信息也一样会置顶显示出来 ...
- [ZJOI2009]硬币游戏
Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 920 Solved: 406[Submit][Status][Discuss] Descriptio ...
- codevs1213 解的个数
题目描述 Description 已知整数x,y满足如下面的条件: ax+by+c = 0 p<=x<=q r<=y<=s 求满足这些条件的x,y的个数. 输入描述 Input ...
- RAR5格式不同词典大小下压缩率的简单测试
一个VMWare虚拟机安装Win7后的磁盘文件进行压缩,已经进行了清理处理,原始大小为12.1GB 词典大小 压缩后大小 压缩比率 32MB 4.08GB 33.7% 256MB 3.88GB 3 ...
- ubuntu18.04安装magento2
magento2更新很快,使用的技术都是很前沿的,国内外的技术帖子又很少,安装的时候难免会遇到各种各样的问题.我们单位因为是外资,总部在国外,最近在自主开发电商网站,开发语言是php,首选了magen ...
- 异常:”未处理System.TypeLoadException“
1.问题由来: 在敲系统时原来的已有的类都能正常的执行,可是当加入一个新的实体类CancelCard的时候系统执行时显示错误例如以下: watermark/2/text/aHR0cDovL2J ...
- C# 文件里的类不能进行设计,因此未能为该文件显示设计器
C# 文件里的类不能进行设计,因此未能为该文件显示设计器 vs 一直打不开设计界面 仅仅能查看代码界面 这时候须要查看 代码中 是不是 从 form 继承 假设不是 窗口类型 改为 fo ...
- Android分包MultiDex原理详解
MultiDex的产生背景 当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt.DexOpt的执行过程是在第一次加载Dex文件的时候执行的 ...
- changing permissions of Read-only file system in linux
up vote 2 down vote favorite 1 i use this command to make a bootable flash disk of linux mint sudo ...