有没有办法创建一个只有一次迭代的矩阵表?

时间:2017-09-10 14:47:50

标签: algorithm dynamic-programming array-algorithms

约束:

您不能多次迭代矩阵。

如果我们命名矩阵A,那么这些矩阵中有两个可用,一个是只读的'另一个是“读/写”。我们将使用'读/写'矩阵来构造求和区域表。

例如这里的代码:

http://www.geeksforgeeks.org/submatrix-sum-queries/

Iterares 2次:1)对所有列进行求和                   2)汇总所有行

1 个答案:

答案 0 :(得分:0)

来自维基百科的总计区域表的实用图片:

SAT

在构建过程中,我们已经有- (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index - (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller AB(对于边缘,它们将为零),并且想要计算C。在这种情况下,该矩形跨越的区域为1x1,因此我们知道矩形的总和为D,其中X是位于X位置的原始矩阵的数字,因此D。因为属于D = C + B - A + XA的区域都包含C区域,所以会减去B

简单地迭代矩阵并使用该公式填充每个单元格只在矩阵上迭代一次,如果矩阵不是只读的话,甚至可以就地完成(用SAT替换原始矩阵)。 p>