近期學了一些比較簡單的東西,就不單獨開個blog了
我覺得學了這個真的很加深對 flo
yd
floyd
floy
d 的理解啊。由於我們每次列舉到的中間點 k
kk 都不參與前面 i−j
i-ji−
j 的最短路中,所以我們可以以 k
kk 和 相鄰的兩個點 i,j
i,ji,
j 構成乙個環。
**如下
for
(k =
1; k <= n; k++)}
for(i =
1; i <= n; i++
)for
(j =
1; j <= n; j++
) f[i]
[j]=
min(f[i]
[j], f[i]
[k]+ f[k]
[j])
;}
原理和快速冪一樣,只是把乘法變成了矩陣乘法。由於函式無法返回乙個陣列,所以我們用結構體把矩陣封裝起來。
**如下
#include
#define ll long long
#define mod 1000000007
#define mem(p) memset(&p, 0, sizeof(p))
using
namespace std;
ll z =1;
struct mat
;mat p, ans;
int n;
mat matmul
(mat x, mat y)}}
p.r = x.r; p.c = y.c;
return p;
}void
mul(ll b)
for(i =
0; i < n; i++)}
intmain()
p.r = ans.r = p.c = ans.c = n;
mul(k -1)
;return0;
}
一些小知識
1.答 int elev 10 0.5 10 3答 arctoolbox中有直接的工具!data management tools features feature to polygon 4如何用arcgis實現指定範圍的dem水平切面 主要是想實現dem和水面結合的三維效果 但如何計算水面範圍 答...
QProcess一些小知識
1.啟動外部程式的兩種方式 1 一體式 void start 外部程式啟動後,將隨主程式的退出而退出 2 分離式 void startdetached 外部程式啟動後,當主程式退出時並不退出。而是繼續執行。2.當程式路徑中含有空格的時候,特別是windows系統該程式路徑會無法被識別。解決方法是將程...
Oracle一些小知識
1 select from table name for update 和 select t.t.rowid from table name t的區別 二者都可以編輯表資料,但是前者會鎖表,後者則不會。原理且不深究,當我們修改某一行資料時,如果不想鎖表就是用後者。2 邏輯判斷 select 1 fr...