题解 2659: 蓝桥杯2022年第十三届省赛真题-统计子矩阵

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

C++统计子矩阵 前缀和+双指针

摘要:解题思路:如果只使用前缀和以及暴力 是拿不到全部的分数的,可以使用双指针优化内层循环,确定上下边界,如何枚举左右注意事项:参考代码:#include<iostream>#define N 505usi……

前缀和+双指针优化(过100%)

摘要:解题思路:注意事项:参考代码:import java.util.Scanner; public class Main {     static final int N = 505;     ……

蓝桥杯2022年第十三届省赛真题-统计子矩阵 预处理+双指针

解题思路:先进行预处理,把每一列矩阵进行压缩,即a[i][j]等于原矩阵第j列第1行到第i行的和。三层for循环,第一层枚举子矩阵的起始行b,第二层枚举子矩阵的终点行i,第三层枚举子矩阵的终点列r。起始列l初始为1,如果当前和超过了k,则使起始列l自增1,直到当前和不大于k。

2659: 蓝桥杯2022年第十三届省赛真题-统计子矩阵

摘要:解题思路:二维前缀和然后循环判断当前区间是否符合小于等于K这样就需要指定两个点,每一个点有x,y方向坐标,这样就是4重循环,4个for会有三个点超时,代码如下#include<iostream>usi……

统计子矩阵(双指针)

解题思路:/*解题思路*//*使用双指针将A数组中的任意俩列的前缀和看做一个一维数组求解*//*在一维数组中a[n]={a[1],a[2],...,a[n]};类似题目求其中不大于k:9的数组矩阵个数*//*那么有俩个指针ij开始时同时指向a[1]:1sum=a[i]加到a[j]sum比k小则j++即

c++统计子矩阵

摘要:解题思路:注意事项:参考代码:#include<iostream> using namespace std; int main() { int a[100][100]; int n, m……
优质题解

蓝桥杯2022年第十三届省赛真题-统计子矩阵(一维前缀和加双指针)

首先对于这道题一维和二维的前缀和都可以解,那我们此处讲一下一维+双指针和普通没有优化的暴力二维,有兴趣的同学可以去尝试用二维前缀+二分法求一下这个题第一种解法:暴力二维前缀和(只能拿80分)因为我们用的暴力解,所以想法很简单把每个位置的前缀和都求出来然后一层一层的for循环就可以了,