Lib/行列積
行列x行列
code:cpp
vector<vector<mint>> mat_mul(const vector<vector<mint>> &A, const vector<vector<mint>> &B) {
int n = A.size();
int m = A0.size();
int l = B0.size();
assert(m == (int)B.size());
vector<vector<mint>> C(n, vector<mint>(l, 0));
for (int i = 0; i < n; i++) {
for (int k = 0; k < m; k++) {
if (Aik.val() == 0) continue;
for (int j = 0; j < l; j++) {
Cij += Aik * Bkj;
}
}
}
return C;
}
行列xベクトル
code:cpp
vector<mint> mat_vec_mul(const vector<vector<mint>> &A, const vector<mint> &v) {
int n = A.size();
int m = A0.size();
assert(m == (int)v.size());
vector<mint> res(n, 0);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
resi += Aij * vj;
}
}
return res;
}
https://atcoder.jp/contests/abc305/submissions/73759193
#Lib