HDU4920 矩陣乘法

2021-07-15 08:36:10 字數 626 閱讀 4018

嗯嗯 就算是水題吧。

(縮完行就15行)

題意:兩個n*n的矩陣相乘(n<=800),結果對3取模

思路:先對3取模,所以兩個矩陣裡面會出現很多0,所以可以先列舉乙個矩陣,只有當該位置不是0的時候才和另乙個矩陣做乘法。

取模的時候也有技巧,,不要在計算的途中取模,,,

應該讀入的時候取一次模,輸出的時候取一次模

計算量會小很多。

// by siriusren

#include

#include

#define ff(n) for(int i=1;i<=n;i++)}

int main()

ff(n-1) printf("%d ",ans[i][j]%3);printf("%d\n",ans[i][n]%3);}

}}

g++更快?

哈哈哈哈哈哈哈 codelength登頂~~~

hdu4920(矩陣 乘法)

題意 矩陣乘法,在乘的過程中每個元素都取模3 在比賽時,我一直在想怎麼才能把o n n n 的時間複雜度給降下來,可是一直沒想到好的辦法,後來看了題解後才知道原來時間複雜度還是o n n n 只是優化了一點而已 如下 include include include include include i...

HDU 4920 居然會超時

題意 求兩個n n的矩陣相乘的結果,得出的每個元素 3 分析 2000ms然後n的範圍是800,我們自己估算的時間複雜度並不會超時,但是結果就是超時了。1 include 2 include 3 include 4 include 5 include 6 include 7 include 8 in...

hdu1575 矩陣乘法

要求矩陣的冪,可以將指數變為二進位制的方法,如 r 17 r 16 r 1 即17的二進位制10001,也在用遞迴的方法。下面是用二進位制的方法,如下 include include include define maxn 100 define mod 9973 using namespace st...