1. 高斯消元
求矩阵逆, 增广单位阵然后消元
求行列式, 先消元后对角线乘积即为行列式
求代数余子式$A_{xy}$, 先求出伴随矩阵$A^*=|A|A^{-1}$, 然后$A_{xy}=A^*[y][x]$
https://codeforces.com/contest/832/submission/61763466
https://codeforces.com/contest/1344/submission/84584146
void Gauss(int A[N][N], int n, int m, int q) { //A为n行m+q列矩阵, n为方程数, m为变量数 //q为增广的列数, r为矩阵秩 int r = 0; REP(i,1,m) { int p = r; while (!A[p][i]&&p<=n) ++p; if (p>n) continue; if (p!=r) REP(j,1,m+q) swap(A[p][j],A[r][j]); REP(j,1,n) if (j!=r&&A[j][i]) { ll t = A[j][i]*inv(A[r][i])%P; REP(k,1,m+q) A[j][k]=(A[j][k]-t*A[r][k]%P+P)%P; } ++r; } }
2. exgcd
ll exgcd(ll a, ll b, ll &x, ll &y) { ll d = a; if (!b) return x=1,y=0,d; return d=exgcd(b,a%b,y,x),y-=a/b*x,d; }
3. excrt
4. 极角排序
5. splay