题意:

  给你一个01方阵,求不同大小的全1方阵的个数

思路:

  对每个点,判断以它左上角的点的方阵是否为全1方阵,若有n*n的全1方阵,则(n-1)^2的方阵必为全1,所以要判断n^2是否为全1方阵,前提是(n-1)^2是全1方阵。n^2全1方阵的判断方法((n-1)^2已判断为全1方阵):判断方阵最下行和最右列是否为全1,对每行算前缀和,每列算前缀和。若方阵最下行和最右列的数相加==2*n,则为n^2的全1方阵。

#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<map>
#define INF 0x7f7f7f7f
#define MAX_INT 0x7fffffff
#define pi 3.1415926
typedef unsigned int uint;
using namespace std;
typedef long long LL;
int mc[252][252];
int rad[252][252];
int cad[252][252];
int cnt[251];
int main(){memset(cnt,0,sizeof(cnt));memset(rad,0,sizeof(rad));memset(cad,0,sizeof(cad));int n;char c;cin>>n;for(int i=0;i<n;i++)for(int j=0;j<n;j++){cin>>c; mc[i][j]=c-'0';}for(int i=0;i<n;i++){rad[i][0]=mc[i][0];for(int j=1;j<n;j++)rad[i][j]=rad[i][j-1]+mc[i][j]; }for(int i=0;i<n;i++){cad[0][i]=mc[0][i];for(int j=1;j<n;j++)cad[j][i]=cad[j-1][i]+mc[j][i]; }    int rc,cc;for(int i=0;i<n;i++)for(int j=0;j<n;j++)for(int s=1;;s++){rc=cc=0;if(j==0) rc=rad[i+s-1][j+s-1];else rc=rad[i+s-1][j+s-1]-rad[i+s-1][j-1];if(i==0) cc=cad[i+s-1][j+s-1];else cc=cad[i+s-1][j+s-1]-cad[i-1][j+s-1];if(cc+rc==2*s){cnt[s]++;} else break;} for(int i=2;i<=n;i++)if(cnt[i]) cout<<i<<' '<<cnt[i]<<endl;return 0;
}

转载于:https://www.cnblogs.com/Gsimt/p/10035151.html

Luogu P2733 家的范围 Home on the Range相关推荐

  1. 洛谷—— P2733 家的范围 Home on the Range

    https://www.luogu.org/problem/show?pid=2733 题目背景 农民约翰在一片边长是N (2 <= N <= 250)英里的正方形牧场上放牧他的奶牛.(因 ...

  2. 家的范围 Home on the Range【USACO 3.3 】

    首先,我要声泪俱下地控诉USACO的暴行,是它让一个幼小的心灵受到一次次残忍的伤害. 题目 Farmer John grazes his cows on a large, square field N ...

  3. c#操作Word文件 导出数据到word文档 (table 书签方式)

    1.添加一个table 显示成问答两列 using System; using System.Collections.Generic; using System.Data; using System. ...

  4. 打家劫舍(首尾相连)Python解法

    你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房 ...

  5. [Luogu 3258] JLOI2014 松鼠的新家

    [Luogu 3258] JLOI2014 松鼠的新家 LCA + 树上差分. 我呢,因为是树剖求的 LCA,预处理了 DFN(DFS 序),于是简化成了序列差分. qwq不讲了不讲了,贴代码. #i ...

  6. 【Luogu】P1613 跑路

    [Luogu]P1613 跑路 一.题目 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资 ...

  7. P1422 小玉家的电费--2022.03.15

    /* P1422 小玉家的电费--2022.03.15 https://www.luogu.com.cn/problem/P1422 */ #include <bits/stdc++.h> ...

  8. 【洛谷】P1422 小玉家的电费

    题目地址: https://www.luogu.com.cn/problem/P1422 题目描述: 夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了.小玉家今天收到了一份电费通知单.小 ...

  9. $Luogu$ $P5514$ $[MtOI2019]$ 永夜的报应

    链接 背景 \(disangan233\) ,迷途之家 \(2019\) 联赛 \((MtOI2019)\) \(T1\) , \(Luogu\) \(P5514\) 题意 给定 \(n\) 个 \( ...

最新文章

  1. pytorch cross_entropy
  2. C# System.Reflection (反射)
  3. matlab实战系列之人工鱼群算法求解TSP问题原理解析(下篇源码解析)
  4. python -c带来的惊喜
  5. boost::test模块测试参数化测试
  6. PyTorch学习问题记录
  7. 一个很好地List实现源码
  8. cytoscape插件下载_Cytoscape下载
  9. 少年时对春有感-四季初
  10. mysql 锁24小时_MySQL中Alter table 不长时间锁表的情况汇总。
  11. java小数位-DecimalFormat(转)
  12. js中的浅拷贝深拷贝深入理解
  13. 应用机器学习(二):k-NN 分类器
  14. Android View框架总结(五)View布局流程之Layout
  15. 手机数字雨_cmd命令数字雨教程
  16. Linux服务器安全防护
  17. Xcode 8.0 Beta发布,详解Swift语言的重大变化
  18. 3dsmax顶点死活焊接不上的原因!
  19. UML建模与软件开发设计(二)——UML概述
  20. Mysql到DM8使用DTS工具进行迁移

热门文章

  1. 钉钉机器人自动推送股票信息
  2. 不设置DIV的宽高,让它相对于页面水平垂直居中
  3. 已管理员身份从cmd框进入mysql,及常用的简单操作!
  4. TestNG – Dependency Test
  5. 博客园山寨版(asp.net mvc 开源)
  6. CentOS下搭建使用gitlab 和tortoiseGit使用
  7. [译] 如何用ps制作泼水字
  8. SQL Server性能优化案例报告
  9. html打印预览出现重叠,html – 使用打印模式css打印网页时页眉和正文内容重叠...
  10. visio 模具_Visio2013 自定义模具 简单公式