牛站
先来看看简单一点的情形
下面是对书上满足结合律的证明
即证明\((A*A)*A=A*(A*A)\)
因为\(A*A=B\),所以即证明\(B*A=A*B\)
设\(C_1=B*A\),那么有$$C_1[i][j]=min_{1≤k≤p}(B[i,k]+A[k,j])$$
\[=min_{1≤k≤p}(min_{1≤l≤p}(A[i][l]+A[l][k])+A[k,j])
\]
\[=min_{1≤k≤p}(min_{1≤l≤p}(A[i][l]+A[l][k]+A[k,j]))
\]
\[=min_{1≤k≤p,1≤l≤p}(A[i][l]+A[l][k]+A[k,j])
\]
设\(C_2=A*B\),同理有$$C_2[i][j]=min_{1≤k≤p,1≤l≤p}(A[i][k]+A[k][l]+A[l,j])$$
显然\(C_1=C_2\)
没有太多条件所以没办法从宏观入手,只能从微观入手
一道小小的扩展,可以像题解一样把自爆看成一个城市,当然也可以直接对向量多设置一个元素表示当前时间所有涉及自爆的总方案数,也可以推出来
也可以利用这篇博客的结论,我们采用对比的方法进行快速判断,对于普通的矩阵乘法,\(⊗\)就是\(\times\),\(⊕\)就是\(+\),那么有\(a\times (b+c)=a\times b+a\times c\),那么对于这道题目,就是\(\times\)换成了\(+\),\(+\)换成了\(min\),也就是\(a+min(b,c)=min(a+b,a+c)\),显然满足