題目描述 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...