解题报告 keke 的房子

 

1.        题目

                Keke的房子

Description

keke得到了一块n*m的土地,他灰常高兴,于是他想要盖个房子,keke的房子必须是正方形的。

但是,并不是土地的每个地方都能盖房子。地面上有一些地方不能盖一砖一瓦。

他当然希望将房子盖得大一些,房子越大就越舒服(有道理没有?)。

于是他又来恶心你了……

Input

输入文件第一行为两个整数n,m(1<=n,m<=1000),接下来n行,每行m个数字,用空格隔开。0表示该块土地不能盖房子,1表示该块土地完好。

Output

一个整数,为keke能盖出的最大正方形房子的边长

Sample Input

4 4

0 1 1 1

1 1 1 0

0 1 1 0

1 1 0 1

Sample Output

2

数据范围

对于30%的数据 n,m<=100

对于100%的数据 n,m<=1000

 

2.        题目实质

找一个指定区域内,不经过指定区域的最大的正方形的边长。

3.        算法

动态规划。

其实这个题还有一个更难的三角形版,也是需要从邻近的几个方向进行转移。

f[I,j] 存右下点为 I,j 的最大的正方形的边长,然后由画图 + 手模(手工模拟)得,最大正方形的边长应为与该格子左边相邻、上边相邻,或是与他的左上顶点相切的三个正方形中最小的那个的边长 + 1

然后,就实现就行了。

然后三角形版是需要从三个方向取最小的进行转移,然后走一遍正三角形,走一遍倒三角形。

4.        注意事项

这个题一定要动态规划,搜索最后两个点超时。

这个题的手模略。

5.        程序代码

FHAI  Pascal

var

f,a:array[0..1003,0..1003]of longint;

ans,tt,n,i,j,m:longint;

function min(a,b:longint):longint;

begin

if a<b then exit(a);

exit(b);

end;

begin

assign(input,'house.in');reset(input);

assign(output,'house.out');rewrite(output);

readln(n,m);

for i:=1to n do

     begin

     for j:=1 to m do

          read(a[i,j]);

     readln;

     end;

for i:=1 to n do

     for j:=1 to n do

     if a[i,j]=1 then

          begin

          tt:=min(f[i,j-1],f[i-1,j]);

          tt:=min(tt,f[i-1,j-1]);

          f[i,j]:=tt+1;

          if f[i,j]>ans then ans:=f[i,j];

          end;

write(ans);

close(input);close(output);

end.

转载于:https://www.cnblogs.com/SueMiller/archive/2011/08/12/2136258.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓逆向_19( 一 ) --- APK保护策略【APP打开就崩溃 之 霸哥apk过签名校验】

From&#xff1a;霸哥磁力搜索apk 过签名校验&#xff1a;https://www.cnblogs.com/LuLuLuHao/p/12863978.html 霸哥磁力搜索app回编签名&#xff1a;https://www.ssfiction.com/archives/2293 https://www.cnblogs.com/LuLuLuHao 哔哩哔哩&#xff08; IDA 分析 so &…

OpenAI NLP最新进展:通过无监督学习提升语言理解

编译 | reason_W编辑 | 明 明出品 | AI科技大本营摘要&#xff1a;近日&#xff0c;OpenAI 在其官方博客发文介绍了他们最新的自然语言处理&#xff08;NLP&#xff09;系统。这个系统是可扩展的、与任务无关的&#xff0c;并且在一系列不同的 NLP 任务中都取得了亮眼的成绩。但…

安卓逆向_19( 二 ) --- APK保护策略【重新签名后安装打开失败 --- 书旗小说.apk、浦发银行.apk的过签名校验【so 文件修改保存】】

From&#xff08; 书旗小说过签名校验 【 使用 DDMS 分析方法调用流程 】 &#xff09;&#xff1a;https://www.cnblogs.com/LuLuLuHao/p/12874468.html 签名校验一般步骤&#xff1a; 1. 先查有没有加壳&#xff0c;如果有壳&#xff0c;先脱壳2. 如果没加壳&#xff0c;则 …

GPU、FPGA芯片成为增强机器学习能力的“左膀右臂”

选自&#xff1a;forbes 编译&#xff1a;网易智能 参与&#xff1a;nariiy在商业软件中&#xff0c;电脑芯片已被遗忘。对于商业应用程序来说&#xff0c;这是一种商品。由于机器人技术与个人硬件设备联系更为紧密&#xff0c;因而制造应用程序仍然更侧重于硬件部分。自20世纪…

C++ 第三方常用网络库

From&#xff1a;https://www.cnblogs.com/aitantianderuangutou/p/11416902.html (1) ACE 庞大、复杂&#xff0c;适合大型项目。开源、免费&#xff0c;不依赖第三方库&#xff0c;支持跨平台。 http://www.cs.wustl.edu/~schmidt/ACE.html (2) Asio Asio基于Boost开发的异…

HDU1878-欧拉回路(入门题+并查集)

题意&#xff1a; 判断一个图是否是欧拉回路。 欧拉回路&#xff1a; 图 G 的一个回路,若它通过 G 中每条边一次且仅一次,则称为欧拉回路。 其中有著名的哥尼斯堡七桥问题或一笔画问题。&#xff08;原来小时候我们就接触欧拉回路了&#xff0c;欧拉回路还是蛮常见&#xff0c;…

增强现实技术的9个最新应用趋势

来源&#xff1a;资本实验室摘要&#xff1a;随着AR技术的成熟&#xff0c;AR与行业的融合越来越深入。从设计到营销&#xff0c;从教育到医疗&#xff0c;从出行到文化&#xff0c;AR正在重新定义各产业的思维方式和运行方式。1.教育AR应用程序正在以更具互动性的方式改变教学…

Linux 系统调用 Ptrace 详解

From&#xff1a;https://blog.csdn.net/u012417380/article/details/60470075 Ptrace 详解&#xff1a;https://www.cnblogs.com/tangr206/articles/3094358.html ptrace运行原理及使用详解&#xff1a;https://blog.csdn.net/edonlii/article/details/8717029 ptrace 函数代…

10年软件开发教会我最重要的10件事[转]

1.面向对象比你想象的要难得多 也许只有我有这种想法&#xff0c;不过我曾经以为计算机科学课上学过的“面向对象”是很简单的东西。我的意思是&#xff0c;创建一些类来模拟现实世界能有多难啊&#xff1f;其实&#xff0c;那还真是挺难的。 十年之后&#xff0c;我仍然在…

安卓系统内 的 安卓虚拟机

转载&#xff1a;虚拟大师&#xff0c;让你的系统再安装一个系统&#xff0c;实现Xposed自由&#xff0c;支持摄像头调用http://xposed.appkg.com/2971.html 虚拟大师 VMOS 虚拟大师简介 虚拟大师是 Android 系统上的 Vmvare&#xff0c;完整的且自带 Root 系统能够让你实现无限…

未来一年最有可能成为独角兽的29家美国初创公司

来源&#xff1a; 资本实验室摘要&#xff1a;近期&#xff0c;研究机构PitchBook梳理出了在未来一年最有可能成为独角兽的29家美国初创公司。资本实验室今日投资关注聚焦前沿科技创新与传统产业升级“小兄弟&#xff0c;老夫看你骨骼清奇&#xff0c;天赋异禀&#xff0c;定是…

StreamWriter类的一般使用方法

理解StreamWriter可以对照StreamReader类来进行&#xff0c;因为他们只是读写的方式不同&#xff0c;一个是读&#xff0c;一个是写&#xff0c;其他的差别不是特别大。 StreamWriter继承于抽象类TextWriter&#xff0c;是用来进行文本文件字符流写的类。 它是按照一种特定的编…

Firefox、Chrome 盘助手

From&#xff1a;https://www.runningcheese.com/baiduyun IDM 下载地址&#xff1a;http://www.ucbug.com/soft/26392.html 定制 Firefox、Chrome 下载地址&#xff1a;https://www.runningcheese.com/ 由网友 "哩呵" 制作的 网盘助手 脚本&#xff0c;需要通过拓…

复杂性理论:科学方法的第三个梯级

来源&#xff1a;人机与认知实验室摘要&#xff1a;莫兰认为系统论超越了还原论&#xff0c;复杂性理论又超越了系统论&#xff0c;它们代表着科学方法论依次达到的三个梯级。复杂性研究从20世纪末叶兴起&#xff0c;目前在国内外已成为许多学科领域内研究的前沿和热点。它涉及…

hdu 1241 Oil Deposits 解题报告

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1241 第一次写搜索代码 花了好大的功夫检查 看了别人的结题报告 还是错误一大堆 哎 题目是这样的 表示油田 *表示非油田 与其八个方向组成一片连续油田 一个*组成的图 文有几片油田 思路&#xff1a;没被标记找…

Notepad++ 简单使用

github 下载地址&#xff1a;https://github.com/notepad-plus-plus 简介 Notepad 是 Windows 下的一款免费开源代码编辑器&#xff0c;它使用较少的CPU功率&#xff0c;降低电脑系统能源消耗&#xff0c;但轻巧且执行效率高&#xff0c;使得 Notepad 可完美地取代微软视窗的记…

MIT:机器学习预测2018世界杯冠军

来源 &#xff1a;199IT互联网数据中心摘要&#xff1a;麻省理工学院报道&#xff0c;他们的研究人员开发了一种新型人工智能&#xff0c;用以预测世界杯走势。麻省理工学院报道&#xff0c;他们的研究人员开发了一种新型人工智能&#xff0c;用以预测世界杯走势。研究人员声称…

安卓逆向_20 --- 模拟器检测、反调试检测、ELF动态调试、__libc_init 下断

From&#xff08; 模拟器检测实战分析 &#xff09;&#xff1a;https://www.bilibili.com/video/BV1UE411A7rW?p65 怎样过 app 的模拟器检测&#xff1a;https://bbs.pediy.com/thread-249759.htm Android 模拟器如何不被检测思路&#xff1a;https://bbs.pediy.com/thread…

2017-2018中国机器人创新Top100榜单深度分析

来源&#xff1a;产业创新创投数据平台Innov100摘要&#xff1a;人类和机器人由相互隔离、保持距离发展到充分的人机交互&#xff0c;融合共生。一、2017-2018年中国机器人创新Top100榜单二、中国机器人创新Top100数据分析&#xff08;一&#xff09;机器人创新Top100产业生态分…

[SCM]源码管理 - perforce快速入门

Perforce是目前比较流行的集中式的源代码管理工具&#xff0c;在很多的欧美跨国公司被广泛的使用。他能够运行于Windows&#xff0c;Linux&#xff0c;Mac几乎所有的平台&#xff0c;支持客户端&#xff0c;命令行&#xff0c;IDE集成&#xff0c;操作系统shell&#xff0c;API…