模板—数学—矩阵树定理

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));
}

  

以上是关于模板—数学—矩阵树定理的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记矩阵树定理(Matrix-Tree)

数学相关模板

bzoj4031 [HEOI2015]小Z的房间——矩阵树定理

Luogu P4336 [SHOI2016]黑暗前的幻想乡(容斥,矩阵树定理)

矩阵树定理(Matrix Tree)学习笔记

2020 HDU 多校第六场 1010 Expectation 期望 矩阵树定理