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

题目

代码

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;
}
相关推荐
寂静山林17 分钟前
UVa 1597 Searching the Web
数据结构·算法
云泽80822 分钟前
排序算法实战:从插入排序到希尔排序的实现与性能对决
算法·排序算法
多恩Stone33 分钟前
【3DV 进阶-5】3D生成中 Inductive Bias (归纳偏置)的技术路线图
人工智能·python·算法·3d·aigc
.ZGR.1 小时前
蓝桥杯高校新生编程赛第二场题解——Java
java·算法·蓝桥杯
blammmp1 小时前
算法专题十七:穷举vs暴搜vs深搜vs回溯vs剪枝
算法·机器学习·剪枝
haofafa2 小时前
高精度加减法
java·数据结构·算法
weixin_307779132 小时前
利用特征值和特征函数求解积分方程
算法
TT哇2 小时前
【BFS 解决FloodFill 算法】4. 被围绕的区域(medium)
算法·宽度优先
格林威2 小时前
AOI在人形机器人制造领域的应用
人工智能·数码相机·算法·目标跟踪·机器人·视觉检测·制造