当前位置: 首页 > news >正文

第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组 统计子矩阵

问题描述

给定一个 N×MN×M 的矩阵 AA, 请你统计有多少个子矩阵 (最小 1×11×1, 最大 N×M)N×M) 满足子矩阵中所有数的和不超过给定的整数 KK ?

输入格式

第一行包含三个整数 N,MN,M 和 KK.

之后 NN 行每行包含 MM 个整数, 代表矩阵 AA.

输出格式

一个整数代表答案。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

int a[510][510];

int main()
{
    int n, m, k;
    long long ans = 0;
    cin >> n >> m >> k;
    //输入时预处理每一列的前缀和
    for(int i = 1; i <= n; i++)
        for(int j = 1; j <= m; j++)
            cin >> a[i][j], a[i][j] += a[i - 1][j];
    for(int i = 1; i <= n; i++)
        for(int j = i; j <= n; j++)
        {
            //从第i行到第j行,每一列看做一个数字a[j][1:m]-a[i-1][1:m]
            //双指针,左端点等于l,右端点等于r,和为sum
            for(int l = 1, r = 1, sum = 0; r <= m; r++)
            {
                sum += a[j][r] - a[i - 1][r];
                //如果sum超过k是不合法的,需要右移左边界l,使得sum变小
                while(sum > k)
                {
                    sum -= a[j][l] - a[i - 1][l];
                    l += 1;
                }
                ans += r - l + 1;
            }
        }
    cout<<ans<<endl;
    return 0;
}

http://www.dtcms.com/a/100058.html

相关文章:

  • python黑科技:无痛修改第三方库源码
  • NSSCTF(MISC)—[justCTF 2020]pdf
  • 【服务器进程管理与多脚本运行指南】关于服务器上 kill 进程 同时运行多个 python 文件的指令】
  • Nginx — Nginx安装证书模块(配置HTTPS和TCPS)
  • J2EE框架技术 第九章 Spring缓存技术
  • C语言pthread库创建线程的案例
  • 前端程序员学习Python的极简入门
  • (undone) MIT6.824 Lecture 02 - RPC and Threads
  • Stable Diffusion LoRA模型训练:图片收集与处理完全攻略
  • 单节点的 OpenStack 一体化部署
  • CentOS8+Nginx环境使用Certbot+Let‘s Encrypt 配置免费ssl证书及自动续期
  • Windows Server2019搭建FTP服务器
  • iOS审核被拒:Missing privacy manifest 第三方库添加隐私声明文件
  • 5G_WiFi_CE_标称带宽/占用带宽
  • SALV无废话教程
  • Python小练习系列 Vol.11:回文数筛选(filter + 字符串反转)
  • AF3 nonensembled_transform_fns函数解读
  • AI日报 - 2025年03月31日
  • Qt WebSockets使用
  • 《非暴力沟通》第七章 “用全身心倾听” 总结
  • 算法每日一练 (23)
  • 深入理解 Windows 进程管理:taskkill 命令详解
  • 《电子武林争霸赛:MOSFET少侠 vs 三极管长老》
  • axios使用
  • 网络空间安全(44)Web实战篇
  • 硬件学习笔记--56 电击防护方式分类介绍
  • 目标检测中COCO评估指标中每个指标的具体含义说明:AP、AR
  • 基于YOLOv8的PCB缺陷检测--补充实验
  • [C++面试] 智能指针面试点(重点)续3
  • 【视觉提示学习】3.28阅读随想