首页 > 其他 > 详细

模板—数学—矩阵树定理

时间:2019-04-05 10:10:33      阅读:84      评论:0      收藏:0      [点我收藏+]

模板—数学—矩阵树定理

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\n",calc(n));
}

  

模板—数学—矩阵树定理

原文:https://www.cnblogs.com/yangsongyi/p/10657929.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!