题目描述

小 y 终于在小学学会了一些字、词、句子,会写一点作文了。某一天,小 y 买了一张方格稿纸来写作文,稿纸是  行  列的,形状如下所示(图中 ):

某天小 y 的邻居 小 x 来 小 y 家玩,无聊地用黑墨水笔把 小 y 新买的方格稿纸涂黑了很多格子。每个格子不是完全黑色就是完全白色,如下图所示。

小 y 不能责怪小 x。作文写不成了,他也觉得很无聊,就开始数里面有多少“魔幻方阵”。如果稿纸中一个  的正方形区域满足以下两个条件,那么它就是魔幻方阵:

(1) 黑白格子的数量差不能超过 ;

(2) 不能小于 。

上图染色后的方格稿纸共有  个魔幻方阵(  个  的魔幻方阵 , 个  的魔幻方阵)。

现在,请你帮助小 y 编程计算被染色的稿纸里面有多少个魔幻方阵。

关于二维前缀和建议参考二维前缀和!_Banzed的博客-CSDN博客_二维前缀和

#include <iostream>
#include <math.h>
using namespace std;
int n,m,sum;
int a[310][310];
int dp[310][310];
int main() {
    cin>>n>>m;
    for (int i=1;i<=n;i++) 
        for (int j=1;j<=m;j++) {
            cin>>a[i][j];
            dp[i][j] = dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1]+a[i][j];//动态转移式方程
        }
    int ans1,ans2;
    for (int k=2;k<=max(n,m);k++) {
        ans1=ans2=0;
        for (int i=1;i<=n-k+1;i++) {
            for (int j=1;j<=m-k+1;j++) {
                int x=i+k-1,
                    y=j+k-1;
                ans1 = dp[x][y]-dp[i-1][y]-dp[x][j-1]+dp[i-1][j-1];
                ans2 = k*k-ans1;
                if (abs(ans1-ans2) <= 1)
                    sum++;
            }
        }
    }
    cout<<sum;
    return 0;
}

方格稿纸(二维前缀和)相关推荐

  1. BZOJ4972 八月月赛 Problem B 小Q的方格纸 二维前缀和

    欢迎访问~原文出处--博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4972 八月月赛Problem B 题目概括 一个矩阵,一坨询问,问矩阵中一个特定方向的等腰直角三角 ...

  2. 牛客 - 捡金币(思维+二维前缀和+构造)

    题目链接:点击查看 题目大意:给出一个n*m的矩阵,每个方格都有一个权值,现在给出q次询问,每次询问的格式是x,y,k,问与点(x,y)的曼哈顿距离不超过k的方格内的所有权值之和 题目分析:首先这个题 ...

  3. Monitor CodeForces - 846D ——二维前缀和

    Recently Luba bought a monitor. Mon itor is a rectangular matrix of size n × m. But then she started ...

  4. 二维前缀和+差分 HDU6514 Monitor

    Monitor [ HDU - 6514 ] 题目大意:给你个n×m的区域,每个区域被选中标记为1,没被选中标记为0,然后给一些标记的区域,查询若干个区域问是否有0的 一道二维前缀和的题目,想通没什么 ...

  5. 牛妹吃豆子(二维前缀和模板,修改+求和)

    调了半天忘了要求两次前缀和了. 先对前缀和数组进行修改, 第一次求前缀和得到的是修改后的原矩阵,再求一次前缀和得到二维前缀和,然后根据容斥定理求区间的二维前缀和即可 #include<iostr ...

  6. 【每日DP】day3 P1387 最大正方形(奇怪的DP增加了 / 二维前缀和)难度⭐⭐★

    奇怪的DP增加了 这道题,刚看见真是一脸懵逼,看了题解才明白. 本题中神奇的转移方程是: f[i][j]=min(min(f[i][j−1],f[i−1][j]),f[i−1][j−1])+1f[i] ...

  7. 《算法竞赛进阶指南》打卡-基本算法-AcWing 99. 激光炸弹:二维前缀和

    文章目录 题目解答 题目来源 题目解答 来源:acwing 分析: 前缀和习惯从下标1开始. 注意:本题是不包含边界的.什么意思? 以样例为例,这里有两个点,分别在(0,0) 和(1,1),且攻击的矩 ...

  8. 海啸(二维前缀和/二维树状数组)

    链接:https://ac.nowcoder.com/acm/problem/21862 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  9. 中石油训练赛 - Block(二维前缀和+思维)

    题目描述 Alice得到了一张由n×m个黑白像素点组成的图片,她想要压缩这张图片.压缩图片的过程如下: 1.首先,选择一个正整数k(k>1),将图片划分成若干个k×k的小块.如果n,m不能被k整 ...

  10. leetcode 304. Range Sum Query 2D - Immutable |304. 二维区域和检索 - 矩阵不可变(二维前缀和问题)

    题目 https://leetcode.com/problems/range-sum-query-2d-immutable/ 题解 本题是 medium 难度,二维前缀和问题.相似题目有: Easy: ...

最新文章

  1. Object Detection+目标检测概述及其常见模型总结
  2. 过滤驱动加密文件(代码)
  3. Machine Learning实验3】SoftMax regression
  4. boost::hana::lift用法的测试程序
  5. centos 忘记root密码_Linux忘记root密码解决方案
  6. 智能家居 (2) ——设计模式的引入
  7. REST + Spring Security会话问题
  8. iphone固件降级_我在iPhone上装了个安卓
  9. 厉害了!中关村软件园人工智能军团有料有看点
  10. WCF BasicHttpBinding 安全解析(1)BasicHttpBinding基本配置
  11. Maya vray XYZ皮肤贴图材质节点连接
  12. 计算机无法打开浏览器,win7电脑打开ie浏览器被提示“该页无法显示”怎么解决...
  13. 万年历c语言代码单链表,万年历的C语言实现
  14. win8更改计算机锁屏时间,在win8系统中设置自动锁屏功能的方法
  15. html网页漂浮广告原理js,JS实现弹性漂浮效果的广告代码
  16. 百度网盘批量上传文件工具
  17. 触动精灵贝塞尔曲线Bezier Curve
  18. 不同类型的物联网产品、物联网产品的优势
  19. 被谢耳朵一直嘲笑的MIT,这次发明了黑镜中的“恐怖机器”
  20. R语言----制作数据分布图(直方图+概率密度曲线)

热门文章

  1. 服务器xfs数据丢失的数据恢复过程_服务器数据恢复方案
  2. 超好用的卸载软件 —— Geek
  3. VBS播放WMP文件
  4. h2o api java_h2o H2OAutoEncoderEstimator
  5. 掌握这些常见的数据可视化表达方式,成为可视化达人!
  6. Solidity智能合约案例——投票存在的问题
  7. 故障管理流程与故障管理功能开发的设计
  8. 腾讯云默认操作系统被安装的软件
  9. 网络科技行业再续签 易趋云助力搭建高效项目管理云平台
  10. C# HttpClientHelper