題意:矩陣乘法,在乘的過程中每個元素都取模3
在比賽時,我一直在想怎麼才能把o(n*n*n)的時間複雜度給降下來,可是一直沒想到好的辦法,後來看了題解後才知道原來時間複雜度還是o(n*n*n),只是優化了一點而已
**如下:
#include#include#include#include#include#include#include#include#include#include#include#include#define n 1000
#define inf 0x7ffffff
#define eps 1e-9
#define pi acos(-1.0)
using namespace std;
int a[n][n],b[n][n],c[n][n];
int main()
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
memset(c,0,sizeof(c));
for(i = 0; i < n; i++)
for(k = 0; k < n; k++)
for(i = 0; i < n; i++)
else printf(" %d",c[i][j]);
printf("\n");}}
return 0;
}
HDU4920 矩陣乘法
嗯嗯 就算是水題吧。縮完行就15行 題意 兩個n n的矩陣相乘 n 800 結果對3取模 思路 先對3取模,所以兩個矩陣裡面會出現很多0,所以可以先列舉乙個矩陣,只有當該位置不是0的時候才和另乙個矩陣做乘法。取模的時候也有技巧,不要在計算的途中取模,應該讀入的時候取一次模,輸出的時候取一次模 計算量...
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...