P2701 [USACO5.3]巨大的牛棚Big Barn
题目背景
(USACO 5.3.4)
题目描述
农夫约翰想要在他的正方形农场上建造一座正方形大牛棚。他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方。我们假定,他的农场划分成 N x N 的方格。输入数据中包括有树的方格的列表。你的任务是计算并输出,在他的农场中,不需要砍树却能够修建的最大正方形牛棚。牛棚的边必须和水平轴或者垂直轴平行。
EXAMPLE
考虑下面的方格,它表示农夫约翰的农场,‘.'表示没有树的方格,‘#'表示有树的方格
1 2 3 4 5 6 7 8
1 . . . . . . . .
2 . # . . . # . .
3 . . . . . . . .
4 . . . . . . . .
5 . . . . . . . .
6 . . # . . . . .
7 . . . . . . . .
8 . . . . . . . .
最大的牛棚是 5 x 5 的,可以建造在方格右下角的两个位置其中一个。
输入输出格式
输入格式:
Line 1: 两个整数: N (1 <= N <= 1000),农场的大小,和 T (1 <= T <= 10,000)有树的方格的数量
Lines 2..T+1: 两个整数(1 <= 整数 <= N), 有树格子的横纵坐标
输出格式:
只由一行组成,约翰的牛棚的最大边长。
输入输出样例
说明
题目翻译来自NOCOW。
USACO Training Section 5.3
/*一开始没认真读题,做成长方形,其实是正方形。读了题之后感觉和以前做的一道P1387 最大正方形很像,因为觉得该题是长方形,所以没在意,但是。。。。题目中说是正方形,那就和 P1387 最大正方形 一样了。。
转移方程:dp[i][j]=min(dp[i-1][j-1],min(dp[i][j-1],dp[i-1][j])
为什么是min不是max,画图可以知道,如果取max,那么可能会有树出现。
*/ #include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std; int n,t,x,y,ans;
int map[][],dp[][]; inline int read(int &num)
{
num=;char c=getchar();
for(;!isdigit(c);c=getchar());
for(;isdigit(c);c=getchar()){num=num*+c-'';}
} int main()
{
read(n),read(t);
for(int i=;i<=t;i++)
{
read(x),read(y);
map[x][y]=; //标记当前位置为数
}
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
if(!map[i][j]) //当前位置不是树
{
dp[i][j]=min(dp[i-][j-],min(dp[i-][j],dp[i][j-]))+;
ans=max(ans,dp[i][j]); //取最大的边长
}
}
}
printf("%d",ans);
return ;
}
P2701 [USACO5.3]巨大的牛棚Big Barn的更多相关文章
- 洛谷——P2701 [USACO5.3]巨大的牛棚Big Barn
P2701 [USACO5.3]巨大的牛棚Big Barn 题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他 ...
- 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn 题解
P2701 [USACO5.3]巨大的牛棚Big Barn 题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他 ...
- 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP
题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...
- 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn
题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...
- 洛谷—— P2701 [USACO5.3]巨大的牛棚Big Barn
https://www.luogu.org/problem/show?pid=2701 题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的 ...
- luogu P2701 [USACO5.3]巨大的牛棚Big Barn |动态规划
题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N x N 的方格.输入数据中包括有树的 ...
- 题解 P2701 【[USACO5.3]巨大的牛棚Big Barn】
题面 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚. 他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方. 我们假定,他的农场划分成 N x N 的方格.输入数据中包括有树的 ...
- [USACO5.3]巨大的牛棚Big Barn
题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...
- [luoguP2701] [USACO5.3]巨大的牛棚Big Barn(DP)
传送门 经典问题. 找出最大的不包含 1 的正方形. f[i][j] 表示 以 (i,j) 结尾的最大的不包含 1 的正方形 f[i][j] = min(f[i - 1][j], f[i][j - 1 ...
随机推荐
- 最简容器动手小实践——FC坦克大战游戏容器化
FC 经典力作相信大家一点也不陌生.童年时期最频繁的操作莫过于跳关,在 果断跳到最后一关之后,一般都是以惨败告终,所以还是一关一关的过原始积累才能笑到最后.这款游戏的经典就在于双人配合,守家吃装备.也 ...
- redis原理及集群主从配置
一.简介 存储系统背景 存储系统有三类: RDBMS oracle,dh2,postgresql,mysql,sql server NoSQL: KV NoSQL:redis,memcached 列式 ...
- 在论坛中出现的比较难的sql问题:19(row_number函数 行转列、sql语句记流水)
原文:在论坛中出现的比较难的sql问题:19(row_number函数 行转列.sql语句记流水) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记 ...
- 在论坛中出现的比较难的sql问题:16(取一个字段中的数字)
原文:在论坛中出现的比较难的sql问题:16(取一个字段中的数字) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 问题:取一个字段中的数字http://bbs.csdn ...
- SS L服务
WebHttpBinding _binding = new WebHttpBinding(); WebServiceHost ws = new WebServiceHost(typeof(Servic ...
- Sublim text 3 同步 eclipse 快捷键
首选项>按键绑定>用户 配置内容(注意为JSON格式!) [ { "keys": ["shift+enter"], "command&qu ...
- 《图解HTTP》读后总结
阅读时间:2019.10.30-2019.11.6 阅读心得: 从知乎上看到有人推荐这本书,本身对计算机网络方面学习的比较少,于是就买来这本书开始看.这本书总体看下来比较轻松,因为书中的插画非常卡通, ...
- css 盒子 取值
盒子:当我们设置一个标签宽高时,默认设置的是盒子里面content大小. 内容盒:content 填充盒:content+padding(overflow截取的区域) 边框盒:content+padd ...
- RFC destination fails with error Incomplete Logon Data after system copy
1. 问题现象 1.1在system copy后,提示RFC报错Unable to configure STMS 2. 重要的参考文件: 2.1RFC passwords not available ...
- 3D Experience — 产品协同研发平台
随着产品复杂程度的提升,市场竞争愈加激烈,基于模型的正向研发已经作为有效的应对手段被广泛接受.但研发流程中仍然存在复杂功能架构定义困难.多方案难以权衡.多系统难以联合仿真,仿真效率低,验证不充分等问题 ...