⾏列積の基本的な実装
def matrix_mul (A,B):
# p*q 型⾏列 A と q*r 型⾏列 B の掛け算
[⾏列A, Bの型を取得]
[p*r 型⾏列 C を初期化]
# ⾏列積の計算
for i in range(p):
for j in range(r):
for k in range(q):
C[i][j] += A[i][k] * B[k][j]
return C
10.
⾏列積の基本的な実装
def matrix_mul (A,B):
# p*q 型⾏列 A と q*r 型⾏列 B の掛け算
[⾏列A, Bの型を取得]
[p*r 型⾏列 C を初期化]
# ⾏列積の計算
for i in range(p): ← pのループ
for j in range(r): ← qのループ
for k in range(q): ← rのループ
C[i][j] += A[i][k] * B[k][j]
return C
def continuous_mul(array_list, n):
#DPテーブルを作成・初期化
dp= [[10**9 for _ in range(n)] for _ in range(n)]
for i in range(n):
dp[i][i] = 0
#関数mを定義(漸化式)
def m(i,j,k):
return dp[i-1][k-1] + dp[k][j-1]
+ len(array_list[i-1])*len(array_list[k-1][0])*len(array_list[j-1][0])
[DPテーブルを更新]
return dp[0][n+1]
コード化