模板—数学—矩阵树定理
Posted yangsongyi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板—数学—矩阵树定理相关的知识,希望对你有一定的参考价值。
模板—数学—矩阵树定理
Code:
#include <cstdio> #include <algorithm> using namespace std; #define N 1010 #define mod 1000000000 long long ans,squ[N][N];int n,m; long long calc(int n) { long long tmp=1; for(int i=1;i<n;i++) { int j; for(j=i;j<n;j++) if(squ[i][j]) break; if(j==n) continue; if(j!=i) {for(int k=i;k<n;k++) swap(squ[i][k],squ[j][k]);tmp*=-1;} for(j=i+1;j<n;j++) { while(squ[j][i]) { long long t=squ[j][i]/squ[i][i]; for(int k=i;k<n;k++) squ[j][k]=(squ[j][k]-squ[i][k]*t%mod+mod)%mod; if(!squ[j][i]) break; for(int k=i;k<n;k++) swap(squ[i][k],squ[j][k]); tmp*=-1; } } } for(int i=1;i<n;i++) (tmp*=squ[i][i])%=mod; return tmp; } int main() { scanf("%d%d",&n,&m); for(int i=1,x,y;i<=m;i++) scanf("%d%d",&x,&y),squ[x][x]++,squ[y][y]++,squ[x][y]--,squ[y][x]--; printf("%lld ",calc(n)); }
以上是关于模板—数学—矩阵树定理的主要内容,如果未能解决你的问题,请参考以下文章
bzoj4031 [HEOI2015]小Z的房间——矩阵树定理