【CSPP】2021-04-2 邻域均值 经典二维前缀和

本文讲述了作者在解决CSP认证考试中的一道邻域均值问题时,如何运用二维前缀和算法,遇到的计算错误(如未除以数量取平均和边界处理不足),以及最终的代码实现和关键点提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

索引

历年CSP认证考试真题题解总汇持续更新

2021-04-2 邻域均值 经典二维前缀和

这题算是第二题中简单的那种了,但是我还是写了接近40分钟才AC,写二维前缀和不太熟练,并且又出了很多很蠢的错误。

思路

这题一拿到我没看到是均值,然后就想怎么减少重复计算呢?就是滑动窗口时,不断更新,并且用的上一个状态窗口来更新下一个这样就会减少重复计算,但是读题后发现是均值,那不就是要求和吗?所以就想到了二维前缀和,之前也做过二维前缀和的题,所以就开始写了。

遇到的问题

  1. 只顾着求和了,忘记除以数量取平均了
  2. 忘记用double类型存储除法

在算均值的时候,我想着只要是反正也是大于的数也会判断为等于

            if (matrix_sum / matrix_num <= t)
                num++;

这样就会导致原本大于t的数也被算进等于t的里了,这样就会导致num很大,不符合答案

所以改成

            if (matrix_sum / (double)ma
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值