網上有優化的方法 就是乘上乙個一維的矩陣;現在還沒有想通。想通了不上**;
我用的就是普通的矩陣,壓著時間過;只是多了乙個判斷條件,不加這個條件就超時;
#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的時候才和另乙個矩陣做乘法。取模的時候也有技巧,不要在計算的途中取模,應該讀入的時候取一次模,輸出的時候取一次模 計算量...