/wiki/algebra/1.html.

前置知识

高斯消元

行列式求值

行列式求值,枚举主对角线上的位置,通过行消法变换 + 辗转相除将一个行首转化成 00,然后换法变换将这一列底下的东西转成 00

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int sol(void) {
int f = 1;
for (int i = 1; i <= n; ++i)
for (int j = i + 1; j <= n; ++j) {
while (a[i][i]) {
int d = a[j][i] / a[i][i];
for (int k = i; k <= n; ++k)
a[j][k] = (a[j][k] - 1ll * d * a[i][k] % P + P) % P;
swap(a[i], a[j]), f = -f;
}
swap(a[i], a[j]); f = -f;
}
int ans = f;
for (int i = 1; i <= n; ++i) ans = 1ll * ans * a[i][i] % P;
return (ans + P) % P;
}

特征多项式


Nothing built can last forever.
本站由 iznomia 使用 Stellar 1.30.4 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。