LOJ #135. 二维树状数组 3:区间修改,区间查询 题解

博客介绍了如何使用二维树状数组解决矩阵的区间修改和区间查询问题,强调了避免使用二维线段树以减少常数和内存限制。详细解释了二维树状数组的维护技巧,包括维护四个差分数组来对应矩阵的四个角,并通过滚动更新进行二维操作。文章提到该方法的时间复杂度为O(n^2log^2n)-O(log^2n),并分享了在实际比赛中面临的挑战和评测器的效率优势。
摘要由CSDN通过智能技术生成

博客园同步

原题链接

前置知识:

一维树状数组的区间修改与区间查询。

简要题意:

维护二维数组的矩阵加与矩阵查。

很显然,如果你用 二维线段树 的话,常数较大,加上要开 long long \text{long long} long long,很可能会 MLE + TLE \text{MLE + TLE} MLE + TLE 的双倍快乐。

所以我们要用 二维树状数组 解决这道题目。

考虑常规前缀和,二维的前缀和需要维护 4 4 4 个节点,我们也需要一一维护。

也就是我们要维护 4 4 4 个差分数组用来一一对应矩阵的四个角,并用 滚一维 的方式,把二维的更新。注意区间加和的细节。

时间复杂度: O ( n 2 log ⁡ 2 n ) − O ( log ⁡ 2 n ) \mathcal{O}(n^2 \log^2 n) - \mathcal{O}(\log^2 n) O(n2log2n)O(log2n).

实际得分: 100 p t s 100pts 100pts.

双倍经验:P4514 上帝造题的七分钟,不过这道题目需要大力卡常(本人卡了半天还是 81 81 81,自闭了, LOJ \text{LOJ} LOJ 评测器最快!)

#
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值