浅谈矩阵前缀和

浅谈矩阵前缀和

本篇随笔浅谈一下算法竞赛中的矩阵前缀和。

一、前缀和

众所周知,前缀和是一种非常容易理解又非常好用的数据结构。其原理很简单。就是对于一个数列,前缀和就是前i个元素加和。这样的话,我们就可以用一次预处理,然后对于每次询问区间和,其复杂度都是O(1)的。非常优秀。

其原理很简单,就是r点前缀和减去l-1点的前缀和,就是l-r的区间和。

二、矩阵前缀和

矩阵前缀和和前缀和大同小异。其定义是:矩阵前缀和是以其为右下角的矩阵的元素和。

通过矩阵前缀和,我们可以用遍历矩阵的时间来预处理。最后也能很快地处理出矩阵的“区间和”。

更特别地,对于两个矩阵来讲,大矩阵和小矩阵中间可以划分成类似田字格的四个部分。这些部分也可以用矩阵前缀和来处理出来。也就是说,矩阵前缀和很适合处理类似“矩阵分割”之类的问题。

posted @ 2020-10-26 20:43  Seaway-Fu  阅读(739)  评论(0编辑  收藏  举报