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

题目

代码

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;
}
相关推荐
2301_79267486几秒前
java学习day27(算法)
java·学习·算法
啦啦啦!13 分钟前
c++AI大模型接入SDK项目
开发语言·数据结构·c++·人工智能·算法
lcj251116 分钟前
【C语言】自定义类型1:结构体
c语言·开发语言·算法
jaysee-sjc18 分钟前
十七、Java 高级技术入门全解:JUnit、反射、注解、动态代理
java·开发语言·算法·junit·intellij-idea
yongui4783421 分钟前
MATLAB模糊控制的粒子群算法(Fuzzy-PSO)实现
数据结构·算法·matlab
sali-tec21 分钟前
C# 基于OpenCv的视觉工作流-章49-人脸检测
图像处理·人工智能·opencv·算法·计算机视觉
不爱吃炸鸡柳22 分钟前
4道经典算法题代码详解:从两数之和到链表两两交换
算法·链表·哈希算法
cmpxr_27 分钟前
【C】隐式类型转换
c语言·c++·算法
W230357657328 分钟前
【C++ 高性能日志系统实战】第三篇:异步日志系统的实现与优化
网络·数据结构·算法·日志