洛谷 P2733 家的范围 Home on the Range
题目背景
农民约翰在一片边长是N (2 <= N <= 250)英里的正方形牧场上放牧他的奶牛。(因为一些原因,他的奶牛只在正方形的牧场上吃草。)遗憾的是,他的奶牛已经毁坏一些土地。( 一些1平方英里的正方形)
题目描述
农民约翰需要统计那些可以放牧奶牛的正方形牧场(至少是2x2的,在这些较大的正方形中没有一个点是被破坏的,也就是说,所有的点都是“1”)。
你的工作要在被供应的数据组里面统计所有不同的正方形放牧区域(>=2x2)的个数。当然,放牧区域可能是重叠。
输入输出格式
输入格式:
第 1 行:N,牧区的边长。
第 2 到 n+1 行:N个没有空格分开的字符。0 表示 "那一个区段被毁坏了";1 表示 " 准备好被吃"。
输出格式:
输出那些存在的正方形的边长和个数,一种一行。
输入输出样例
6
101111
001111
111111
001111
101101
111001
2 10
3 4
4 1
说明
题目翻译来自NOCOW。
USACO Training Section 3.3
dp
[i][j]代表以i,j结尾的最大正方形的边长,a[i][j]代表矩阵上的值。
状态转移方程:if(a[i][j]==1)f[i][j]=min(f[i-1][j-1],f[i-1][j],f[i][j-1])+1;
#include <cstdio>
#define N 300
int G[N][N],n,f[N][N],Max,cnt[N];
inline int max(int a,int b){return a>b?a:b;}
inline int min(int a,int b){return a>b?b:a;}
int main()
{
scanf("%d",&n);
char str[N];
for(int i=;i<=n;++i)
{
scanf("%s",str+);
for(int j=;j<=n;++j)
G[i][j]=str[j]-'';
}
for(int i=;i<=n;++i)
for(int j=;j<=n;++j)
{
if(G[i][j]==) f[i][j]=min(f[i-][j],min(f[i-][j-],f[i][j-]))+;
Max=max(Max,f[i][j]);
for(int k=;k<=f[i][j];++k) cnt[k]++;
}
for(int i=;i<=Max;++i) printf("%d %d\n",i,cnt[i]);
return ;
}
洛谷 P2733 家的范围 Home on the Range的更多相关文章
- 洛谷P2733 家的范围 Home on the Range
P2733 家的范围 Home on the Range• o 26通过o 61提交• 题目提供者该用户不存在• 标签USACO• 难度普及+/提高 提交 讨论 题解 最新讨论• 暂时没有讨论题目背景 ...
- 洛谷——P2733 家的范围 Home on the Range
P2733 家的范围 Home on the Range 题目背景 农民约翰在一片边长是N (2 <= N <= 250)英里的正方形牧场上放牧他的奶牛.(因为一些原因,他的奶牛只在正方形 ...
- 洛谷 P2733 家的范围 Home on the Range Label:二维数组前缀和
题目背景 农民约翰在一片边长是N (2 <= N <= 250)英里的正方形牧场上放牧他的奶牛.(因为一些原因,他的奶牛只在正方形的牧场上吃草.)遗憾的是,他的奶牛已经毁坏一些土地.( 一 ...
- 洛谷—— P2733 家的范围 Home on the Range
https://www.luogu.org/problem/show?pid=2733 题目背景 农民约翰在一片边长是N (2 <= N <= 250)英里的正方形牧场上放牧他的奶牛.(因 ...
- P2733 家的范围 Home on the Range
又是一校内模拟赛见的题 不知道为什么出题人怎么这么喜欢USACO的Farmer John的他的牛... 感觉这道题不是特别的难,但也不很水 同机房的神仙们都说这个题是一道二维前缀和的裸题,但我当时的确 ...
- 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP
题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...
- P2733 家的范围 Home on the Range-弱DP
P2733 家的范围 Home on the Range 思路 :转化为以每个点为右下角的 最大正方形的边长 #include<bits/stdc++.h> using namespace ...
- 洛谷 P3258 BZOJ 3631 [JLOI2014]松鼠的新家
题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在”树“上. 松鼠想邀请小熊维尼前 ...
- 洛谷P5664 Emiya 家今天的饭 问题分析
首先来看一道我编的题: 安娜写宋词 题目背景 洛谷P5664 Emiya 家今天的饭[民间数据] 的简化版本. 题目描述 安娜准备去参加宋词大赛,她一共掌握 \(n\) 个 词牌名 ,并且她的宋词总共 ...
随机推荐
- Unobtrusive Javascript有三层含义
一是在HTML代码中不会随意的插入Javsscript代码,只在标签中加一些额外的属性值,然后被引用的脚本文件识别和处理: 二是通过脚本文件所增加的功能是一种渐进式的增强,当客户端不支持或禁用了Jav ...
- app.config 配置的一种用法
app.config文件 <?xml version="1.0" encoding="utf-8" ?> <configuration> ...
- 浏览器版本低于IE10跳转到指定网页
var userAgent = navigator.userAgent; var ie6 = (/msie\s*(\d+)\.\d+/g.exec(userAgent.toLowerCase()) | ...
- Tcp编程demo之三部曲
下面的demo的目的是通过代码来快速的了解tcp编程的步骤 1首先呢,对InetAddress类简单了解其作用 public static void main(String[] args) throw ...
- 为什么要用babel-polyfill
1.为什么要用babel-polyfill Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如 Iterator.Generator.Set.Maps.Prox ...
- 阿里云ECS测试服务器部署
前序:为了提供一个干净的测试环境,更好地验证产品问题,也为了防止被开发人员频繁发布代码而打断测试工作,故测试团队搭建了一台阿里云ECS服务器,以下是具体的部署信息: 1. 安装JDK Java版本:J ...
- xxe漏洞分析
xxe漏洞总结 xxe漏洞就是xml外部实体注入攻击,所以一定是针对xml编写的服务. xxe漏洞是把参数经过php输入流或者$HTTP_RAW_POST_DATA直接读入xml实体当中,参数可控且没 ...
- JS 对象的操作方法
第一种: 变量名.style.属性: 第二种: 变量名.style[参数]
- [NWPU2016][寒假作业][正常版第二组]U
题意,有箱子和物品,宽度一样,长度不一样,给定箱子和物品,一个箱子至多能装两个物品,一个物品只能被一个箱子装,求最少多少箱子能装所有的物品. 思路:贪心的话,很容易想到,从大到小排,从最大的开始,往后 ...
- Net Core -- 配置Kestrel端口
Net Core -- 配置Kestrel端口 Kestrel介绍 在Asp.Net Core中,我们的web application 其实是运行在Kestrel服务上,它是一个基于libuv开源的跨 ...