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

蓝桥集训之统计子矩阵

统计子矩阵

  • 核心思想:矩阵前缀和 + 双指针

    • 用i和j双指针 遍历所有子矩阵的列
    • 用s和t双指针 遍历所有子矩阵的行
    • 求其子矩阵的和 若>k 将s向下移动 矩阵和必定减小(元素个数减少)
    • 直到满足<=k 因为列一定 行数即为方案数(从t行往上数到s行 共t-s+1个区间[t,t][t-1,t]….[s,t])
  •   #include<iostream>using namespace std;const int N = 510;typedef long long LL;int a[N][N];int n,m,k;int main(){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] + a[i][j-1] - a[i-1][j-1];  //求前缀和数组}}LL res = 0;for(int i=1;i<=m;i++)  //遍历列{for(int j=i;j<=m;j++){for(int s=1,t=1;t<=n;t++)  //遍历行{while(s<=t && a[t][j] - a[s-1][j] - a[t][i-1] + a[s-1][i-1] > k)s++;if(s<=t) res += t-s+1;}}}cout<<res;}
    
http://www.lryc.cn/news/313640.html

相关文章:

  • 架构师十项全能 你会几个?
  • 数据库(mysql)-新手笔记(主外键,视图)
  • 西门子PLC的交互界面怎样设计?
  • 备份 ChatGPT 的聊天纪录
  • 支持向量机 SVM | 线性可分:软间隔模型
  • 基于Java的生活废品回收系统(Vue.js+SpringBoot)
  • Linux:好用的Linux指令
  • Python Tkinter GUI 基本概念
  • Python实习生(自动化测试脚本开发) - 面经 - TCL新技术有限公司
  • 遥遥领先!基于transformer变体的时间序列预测新SOTA!
  • Java实现从本地读取CSV文件数据
  • 数据结构(一)——概述
  • 昇腾芯片解析:华为自主研发的人工智能处理器全面分析
  • 新手做抖音小店怎么快速出体验分?教给大家一个方法!
  • Apollo决策规划 - EM planner
  • Qt: 事件过滤器的更多用法
  • 解决:ModuleNotFoundError: No module named ‘paddle‘
  • 上海雷卯可以解决YPbPr/ YCbCr接口 ESD/EOS静电浪涌问题
  • 【FPGA/IC】CRC电路的Verilog实现
  • go语言添加代理
  • kafka 可视化工具
  • 安康杯安全知识竞赛上的讲话稿
  • python 基础知识点(蓝桥杯python科目个人复习计划59)
  • LCR 179. 查找总价格为目标值的两个商品 - 力扣
  • 《汇编语言》- 读书笔记 - 第16章-直接定址表
  • ChatGPT 新增朗读功能,支持 37 种语言
  • 洛谷 P8816 [CSP-J 2022] 上升点列(T4)
  • python爬虫(2)
  • 外包干了8天,技术退步明显。。。。。
  • 浅谈去耦电容的作用、选择、布局及其它电容的区别!