hdu2807 矩陣乘法 floyd

2022-03-11 06:37:48 字數 550 閱讀 7968

網上有優化的方法 就是乘上乙個一維的矩陣;現在還沒有想通。想通了不上**;

我用的就是普通的矩陣,壓著時間過;只是多了乙個判斷條件,不加這個條件就超時;

#include#include

#define inf 99999999

#define maxn 85

struct

mata[

85];

intn,m,map[maxn][maxn];

mat

operator *(mat a,mat b)

returnc;}

intok(mat aa,mat bb)

return1;

}void

init()

void

floyd()

intmain()

for(i=0;i)}}

/*for(i=0;i*/

floyd();

intk;

scanf("%d

",&k);

for(i=0;i)

}}

hdu 2807 矩陣比較 floyd

題意還是比較好理解的,即如果矩陣a b c滿足a b c,則代表矩陣a的第i個城市與代表矩陣b的第j個城市之間存在通路。orz。然後我就按一般的矩陣相等的條件去判斷。結果tle了。2000ms 了。然後就學了一下矩陣的優化。優化後。60ms。orz。一開始的 1 include2 const int...

hdu4920(矩陣 乘法)

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

HDU4920 矩陣乘法

嗯嗯 就算是水題吧。縮完行就15行 題意 兩個n n的矩陣相乘 n 800 結果對3取模 思路 先對3取模,所以兩個矩陣裡面會出現很多0,所以可以先列舉乙個矩陣,只有當該位置不是0的時候才和另乙個矩陣做乘法。取模的時候也有技巧,不要在計算的途中取模,應該讀入的時候取一次模,輸出的時候取一次模 計算量...