codevs3147 矩陣乘法 2 (推導小公式)

2021-07-30 13:47:19 字數 1074 閱讀 7147

題目描述 description

給出兩個n*n的矩陣,m次詢問它們的積中給定子矩陣的數值和。

*為防止卡評測,已減小資料範圍並調低時限。

輸入描述 input description

第一行兩個正整數n,m。

接下來n行,每行n個非負整數,表示第乙個矩陣。

接下來n行,每行n個非負整數,表示第二個矩陣。

接下來m行,每行四個正整數a,b,c,d,表示詢問第乙個矩陣與第二個矩陣的積中,

以第a行第b列與第c行第d列為頂點的子矩陣中的元素和。

輸出描述 output description

對每次詢問,輸出一行乙個整數,表示該次詢問的答案。

樣例輸入 sample input

3 21 9 8

3 2 0

1 8 3

9 8 4

0 5 15

1 9 6

1 1 3 3

2 3 1 2

樣例輸出 sample output

661388

資料範圍及提示 data size & hint

【資料規模和約定】

對40%的資料滿足,n <= 100,m <= 1000。

對100%的資料滿足,n <= 800,m <= 10000,輸入資料中矩陣元素 < 100,a,b,

c,d <= n。

資料有梯度。

//事實證明,讀取long long比int費時

//讀long long 過兩組,讀int過4組

//想要過5組就要推導公式,把原來的時間複雜度n^3變成n*n+n*m,公式畫個圖即可推出

#include#includeusing namespace std;

const int mx=810;

long long cc[mx][mx],dd[mx][mx];

inline int read()

return ans;

}int main()

printf("%lld\n",ans);

} return 0;

}

Codevs No 3147 矩陣乘法2

2016 06 01 17 33 30 題目大意 給定兩個大小相同的正方形矩陣a,b.多次詢問,每次求乘後矩陣的乙個子矩陣所有元素的和.解法 首先想到暴力.預處理n 3,詢問模擬掃,這常數簡直瞬間 啊 當然是可以優化的.列出子矩陣的元素表示式,就會發現有一些元素 矩陣乘法2 codevs no.31...

矩陣乘法 2

description 輸入兩個矩陣,分別是m s,s n大小。輸出兩個矩陣相乘的結果。input 第一行,空格隔開的三個正整數m,s,n 均不超過200 接下來m行,每行s個空格隔開的整數,表示矩陣a i,j 接下來s行,每行n個空格隔開的整數,表示矩陣b i,j output m行,每行n個空格...

Codevs 3332 數列 矩陣乘法

3332 數列 時間限制 1 s 空間限制 256000 kb 題目等級 大師 master 題目描述 description a 1 a 2 a 3 1 a x a x 3 a x 1 x 3 求a數列的第n項對1000000007 10 9 7 取餘的值。輸入描述 input descripti...