【统计子矩阵——部分前缀和+双指针】

题目

代码

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 510;
int s[N][N];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    
    int n, m, k;
    cin >> n >> m >> k;
    
    for(int i = 1; i <= n; i++)
        for(int j = 1; j <= m; j++)
        {
            cin >> s[i][j];
            s[i][j] += s[i-1][j];
        }
    
    ll ans =  0;
    for(int i = 1; i <= n; i++)
    {
        for(int j = i; j <= n; j++)
        {
            for(int l = 1, r = 1, sum = 0; r <= m; r++)
            {
                sum += s[j][r] - s[i-1][r];
                while(sum > k)
                {
                    sum -= s[j][l] - s[i-1][l];
                    l++;
                }
                
                ans += r - l + 1;
            }
        }
    }
    
    cout << ans;
}
相关推荐
Loo国昌几秒前
【LangChain1.0】第十四阶段:Agent最佳设计模式与生产实践
人工智能·后端·算法·语言模型·架构
2301_790300962 分钟前
C++中的观察者模式实战
开发语言·c++·算法
霖霖总总5 分钟前
[小技巧49]深入 MySQL JOIN 算法:从执行计划到性能优化
mysql·算法·性能优化
白云千载尽13 分钟前
cosmos系列模型的推理使用——cosmos transfer2.5
算法·大模型·世界模型·自动驾驶仿真·navsim
2401_8914504614 分钟前
基于C++的游戏引擎开发
开发语言·c++·算法
@Aurora.16 分钟前
优选算法【专题六_模拟】
算法
MicroTech202518 分钟前
微算法科技(NASDAQ :MLGO)探索量子Hadamard门技术,增强量子图像处理效率
图像处理·科技·算法
进击的小头19 分钟前
移动平均滤波器:从原理到DSP ADC采样实战(C语言实现)
c语言·开发语言·算法
历程里程碑19 分钟前
Linux 6 权限管理全解析
linux·运维·服务器·c语言·数据结构·笔记·算法
历程里程碑24 分钟前
双指针--双数之和
开发语言·数据结构·c++·算法·排序算法·哈希算法·散列表