子矩陣求和

2021-10-08 02:35:22 字數 1038 閱讀 8664

給出乙個m * n的矩陣a,矩陣元素ai,j小於1000,進行q次查詢,每次查詢給出子矩陣的4個邊界(上下左右),求該子矩陣所有元素之和。

樣例中第乙個查詢:1 3 1 2 表示從第1行到第3行,從第1列到第2列,對應的子矩陣是:

1 25 6

9 10

求和等於33

第一行2個整數n, m,中間用空格分割,分別對應陣列的行數n、列數m(1 <= m,n <= 100) 接下來n行,每行m個整數表示矩陣的內容ai,j 。(0 <= ai,j <= 1000) 接下來1行,乙個數q,對應查詢的數量。(1 <= q <= 1000) 接下來q行,每行4個整數,對應矩陣的上下左右邊界u,d,l,r。(1 <= u <= d <= n, 1 <= l <= r <= m)

輸出共q行,對應q個詢問的求和結果。

3 41 2 3 4

5 6 7 8

9 10 11 12

31 3 1 2

1 2 1 3

1 3 1 3

3324

54初始化

for

(int i=

1;i<=n;i++

)for

(int j=

1;j<=m;j++

)

計算子矩陣所有數的和

cout<[y2]

-s[x2]

[y1-1]

-s[x1-1]

[y2]

+s[x1-1]

[y1-1]

<

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

intmain()

} cin>>q;

while

(q--

)return0;

}

給定乙個矩陣,求和最大的子矩陣

題目 輸入n,代表方形矩陣的維度,然後輸入n 2個整數。請輸出和最大的子矩陣的和。要點 利用了最大連續子串和的思路,實際上也是動態規劃的題目。這裡再強調一下,對於動態規劃的題目,我們經常會使用到 1下標,這樣會使得程式設計很方便。如何能夠正常的使用 1下標呢?見 include using name...

子陣列求和

乙個面試題,哎 題目 連續子陣列求和 給定乙個整數陣列,請找出所有的連續子陣列,計算所有的子陣列的和,輸出子陣列和相加的結果。例如 陣列 1,3,7 有7個子陣列 1 3 7 1,3 3,7 1,3,7 子陣列相加後的結果是36 1 3 7 1,3 3,7 1,3,7 0 1 3 7 4 10 11...

十六 矩陣數字求和

問題 矩陣數字求和 題目描述 給定乙個數字矩陣,數字中間用空格分開。求 行,列,45 斜線 不一定是對角線 中,和最大的是多少 輸出 這個最大的和.比如矩陣 9 8 2 2 2 4 1 5 1 5 1 2 1 15 6 3 2 1 56 3 中,和最大的是 1 15 56 這個斜線。需要輸出 72 ...