[USACO5.3]巨大的牛棚Big Barn && 洛谷【p1387】最大正方形(动态规划)
来源:互联网 发布:mac解压软件破解版 编辑:程序博客网 时间:2024/05/24 07:36
题目背景
(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), 有树格子的横纵坐标
输出格式:
只由一行组成,约翰的牛棚的最大边长。
输入输出样例
输入样例#1:
8 3
2 2
2 6
6 3
输出样例#1:
5
题解(巨大的牛棚):
#include<iostream>#include<cstdio>using namespace std;int map[1005][1005];int dp[1005][1005];int main(){ int n,t; scanf("%d%d",&n,&t); for(int i=1;i<=t;i++) { int x,y; scanf("%d%d",&x,&y); map[x][y]=1; } int ans=0; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(!map[i][j])//如果没有树木,那正方形的边长就是它左上、上方、左方最小值的答案+1 { dp[i][j]=min(dp[i-1][j-1],min(dp[i-1][j],dp[i][j-1]))+1; ans=max(ans,dp[i][j]); } } } printf("%d",ans); return 0;}
——————————————————–分割线————————————————————————————————-
题目描述
在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长。
输入输出格式
输入格式:
输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m个数字,用空格隔开,0或1.
输出格式:
一个整数,最大正方形的边长
输入输出样例
输入样例#1:
4 4
0 1 1 1
1 1 1 0
0 1 1 0
1 1 0 1
输出样例#1:
2
题解:(最大正方形):
#include<iostream>#include<cstdio>using namespace std;int a[105][105];int dp[105][105];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",&a[i][j]); } } int ans=0; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(a[i][j]) { dp[i][j]=min(dp[i-1][j-1],min(dp[i-1][j],dp[i][j-1]))+1; ans=max(ans,dp[i][j]); } } } printf("%d",ans); return 0;}
- [USACO5.3]巨大的牛棚Big Barn && 洛谷【p1387】最大正方形(动态规划)
- [USACO5.3]巨大的牛棚Big Barn
- luoguP2701 [USACO5.3]巨大的牛棚Big Barn(极大子矩阵)
- 【Big Barn 巨大的牛棚】【转】
- 【USACO题库】5.3.4 Big Barn巨大的牛棚
- 【USACO题库】5.3.4 Big Barn巨大的牛棚
- 洛谷 P1387 最大正方形
- 洛谷 p1387 最大正方形
- 洛谷 P1387 最大正方形
- 洛谷 P1387 最大正方形
- 洛谷p1387最大正方形
- 洛谷 P1387 最大正方形
- 洛谷 [P1387]最大正方形
- 【动态规划】[luoguP1209 USACO1.3]修理牛棚 Barn Repair
- USACO5.3.4Big Barn
- usaco5.3.4 Big Barn
- luogu P1387 最大正方形
- [P1387]最大正方形
- STM32高级开发-(2)ubuntu安装和配置
- 慕课网——PHP入门篇(第四章:常量)
- Java不适合编写桌面应用?
- SVN树冲突及解决方式( eclipse操作详解 )
- AOP2
- [USACO5.3]巨大的牛棚Big Barn && 洛谷【p1387】最大正方形(动态规划)
- ionic的详情
- linux挂载NFS
- Servlet post接收form-data参数值java
- SQLite数据库基础命令
- 一个iOS 11BUG的发现、定位和解决
- Spring AOP: proxy-target-class 值的意思
- 使用org.apache.tools.zip实现zip压缩和解压
- hdu 1598 find the most comfortable road