行列式求法和矩阵树定理

news/2024/10/3 15:47:47

1.矩阵树定理
无向图,有n个点,如果说i-j之间有连边,那么矩阵g[i][j]=g[j][i]=-1(i-j之间的边的数量),否则值为0
矩阵上对角线上的值为该点的度数,g[i][i]=d[i];
生成树个数:任选i,去掉i行i列之后的行列式的值
生成树的权值=边权的乘积,所有生成树的权值之和?
i-j之间右边,g[i][j]=-w[i][j]之和
g[i][i]=所有w[i][j]之和

时间复杂度:n^3
logW

int g[N][N];int calc(int n){int ans=1;for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) g[i][j]%=mod;for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++){int x=i,y=j;while(g[x][i]){int t=g[y][i]/g[x][i];for(int k=i;k<=n;k++){g[y][k]=(g[y][k]-t*g[x][k])%mod;}swap(x,y);}if(x==i){for(int k=i;k<=n;k++) swap(g[i][k],g[j][k]);ans=-ans;}if(g[i][i]==0){return 0;}ans=ans*g[i][i]%mod;}if(ans<0)ans+=mod;return ans;}void slove(){int n,m;cin>>n>>m;for(int i=1;i<=m;i++){int u,v;cin>>u>>v;g[u][v]--,g[v][u]--;g[u][u]++,g[v][v]++;}cout<<calc(n-1)<<endl;//删掉第n行,第n列 
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/67377.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

git 代码提交规范 commitLink

commitLink 是一个 git 代码提交规范工具,能规范团队成员代码必须按照 规范提交 1、安装依赖:npm install --save-dev @commitlint/config-conventional @commitlint/cli依赖安装完成之后,会生成一个 commitLink.config.js 配置文件 2、安装 kusky ( mpn install .husky/co…

RUST所有权相关问题

先介绍一下RUST的所有权规则: 1.Rust 中的每一个值都有一个所有者(owner)。 2.值在任一时刻有且只有一个所有者。 3.当所有者(变量)离开作用域,这个值将被丢弃。 变量与数据交互的方式包括两种:移动和克隆。 移动就是转交值的所有权,如let x=y(x的类型未实现Copy trait)…

GoogLeNet训练CIFAR10[Pytorch+训练信息+.pth文件]

0 引言GoogLeNet,它是一种深度卷积神经网络,由Google研究人员在2014年提出,用于图像识别任务。 CIFAR-10是一个常用的图像识别数据集,包含10个类别,每个类别有6000张32x32的彩色图像。 本文使用Pycharm及Pytorch框架搭建GoogLeNet神经网络框架,使用CIFAR10数据集训练模型…

IntelliJ IDEA中,代码折叠(Code Folding)功能 取消 默认的 方法体自动展开

默认情况下 方法体 代码折叠后,再次启动 IDEA 时 会自动展开 取消 下面的多选框 则 下次启动不会自动展开

2024国庆S综合强化Day3

今天的题比较简单。 A link

“订单、账单、支付单”关系解析

当交易、支付等体系糅合在一起时,可能会产生许多单据或单号,这个时候,要怎么理解单据在交易正、逆向中的联系?这篇文章里,作者结合设定场景做了解读,或许可以帮你理解“订单、账单、支付单”关系。有朋友提出一个问题比较典型,可能是很多朋友的疑问点:整个交易、支付、…

闲话 10.2

闲话 10.2 你说得对但我还是想写些废话出来你说的对,以前假期比上不足比下有余,现在没有下了。10.1 上午的唐氏模拟赛,忙活一上午只有 55pts,还因为 T4 freopen 开错了挂 15pts。 T1 感觉哪里很对但很怪,死活调不出来大样例三,于是两个小时就摆了,结果大败而归,事实上…

C++ 容器适配器

除了顺序容器外,标准库还定义了三个顺序容器适配器:stack、queue和priority_queue。适配器(adaptor)是标准库中的一个通用概念****。容器、迭代器和函数都有适配器。本质上,一个适配器是一种机制,能使某种事物的行为看起来像另外一种事物一样。一个容器适配器接受一种已有的…