生成树定理
Neo__Z
这个作者很懒,什么都没留下…
展开
-
spoj highways 【生成树定理】
题目大意:给定一张无向图G,问用G中的边可建成多少棵树。生成树定理,也叫矩阵树定理模板。 神奇的算法~用矩阵快速求出生成树个数~ 对于每个点,a[i][i]为i点的度数,如果i与j之间有边相连,则a[i][j]减1,然后行列式求n-1矩阵的值即可。行列式的求法: 将矩阵高斯消元到倒三角的模式(就是解方程组最后一步时的样子),然后将对角线上的数相乘取绝对值。#include<iostream>原创 2017-10-10 17:10:23 · 308 阅读 · 0 评论 -
bzoj5297 [Cqoi2018]社交网络【矩阵树定理】
传送门 解题思路: 就是有向图的生成树定理,注意与无向图的不同。 1.题目是求反向树形图,基尔霍夫矩阵为(入度矩阵-邻接矩阵) 2.求余子式只能删去根节点所在行和列。 #include<bits/stdc++.h> using namespace std; int getint() { int i=0,f=1;char c; for(c=getchar()...原创 2018-05-03 13:58:42 · 247 阅读 · 0 评论 -
TopCoder SRM697 div1 hard【prufer序列】
题目大意: 有n≤2000n≤2000n\le 2000个城市,每个城市有个权值wiwiw_i,任意两个城市之间的道路数有wi∗wjwi∗wjw_i*w_j条。对于每种生成树,设每个点的度数为didid_i,其权值定义为∏di∏di\prod d_i。问所有无根生成树的权值和。答案对109+7109+710^9+7取模。 解题思路: 主要说一下思路和推导过程。 考虑生成树中的一条边 (i...原创 2018-05-17 11:02:22 · 306 阅读 · 0 评论