#简介 矩阵树定理用于生成树计数。 #高斯消元解行列式 行列式就是一个$n\times n$的矩阵。对行列式可以求值。 具体怎么做,就是行列式搞一次高斯消元,然后对角线乘起来就是行列式的值。 #矩阵树定理 首先要求出“基尔霍夫矩阵”,这需要两个矩阵$D$和$A$,然后$D-A$就是它了。 接着把这个 ...
分类:
其他好文 时间:
2020-09-17 14:10:20
阅读次数:
27
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6836 题意:给你 n 个点 m 条边的图,按照输入顺序第 i 条边的权值为 2^i,生成树的权值为树上所有边的权值的二进制与运算,随机选择一颗生成树,求生成树权值的期望。 Input The first ...
分类:
其他好文 时间:
2020-08-07 00:29:25
阅读次数:
88
[LuoguP4208][JSOI2008]最小生成树计数 题面 现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树。(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的)。由于不同的最小生成树可能很多,所以你只需要输出方案数对 ...
分类:
Web程序 时间:
2020-07-26 00:42:11
阅读次数:
88
题目 点这里看题目。 分析 考察一下矩阵树定理的基本式子: \(\sum_T \prod_{e\in T} w_e\) 设$v(T)$为$T$的权值,我们发现,$v(T)$应该是$T$中的边的“某种意义”下的积。 这意味着,我们只需要能够保证$v(T)$的贡献可分割,便可以定义一个存在基础四则运算的 ...
分类:
其他好文 时间:
2020-07-04 15:30:15
阅读次数:
61
####题目描述 现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树。(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的)。由于不同的最小生成树可能很多,所以你只需要输出方案数对$31011$的模就可以了。 ###题解 容易想 ...
分类:
Web程序 时间:
2020-05-26 18:43:17
阅读次数:
88
就是对于一个图,求有多少个生成树。 基尔霍夫矩阵树定理:构建一个邻接矩阵,对角线上的点值等于点 i 的度数,如果 i 和 j 有边相连 对应矩阵点值为 -1 生成树个数:任意的n-1阶行列式的值。 UVA - 10766 题目大意:现有n个点,m条边,k为根节点,每条边代表边的两点有矛盾,不能相连, ...
分类:
其他好文 时间:
2020-05-07 23:08:29
阅读次数:
80
给定 $n$ 个点 $k$ 棵树的森林,第 $i$ 棵树的大小为 $s_i$,要求加入 $k 1$ 条边,使之连通,求方案数。 设第 $i$ 棵树的度数为 $d_i$,则对于给定 $d_1,d_2,\cdots,d_k$,根据 prufer 序列 ,进行可重集排列 $$ \begin{pmatrix ...
分类:
其他好文 时间:
2020-02-15 13:32:00
阅读次数:
84
JSOI 2008 最小生成树计数 今天的题目终于良心一点辣 一个套路+模版题。 考虑昨天讲的那几个结论,我们有当我们只保留最小生成树中权值不超过 $ k $ 的边的时候形成的联通块是一定的。 我们可以先拿 kruskal 跑一棵最小生成树,然后我们可以从小到大枚举边权,把所有除开枚举到的边权的边全 ...
分类:
Web程序 时间:
2020-02-13 11:17:20
阅读次数:
92
"Link" 下文中的点指的是题目给的$n$个连通块。 因为题目给的式子只与度数和点权相关,因此考虑Prufer序列。 枚举每个点在Prufer序列中的出现次数,那么此时的贡献就是Prufer序列的个数乘上该生成树的价值。 $ans=(n 2)!\sum\limits_{\sum d_i=n 2}\ ...
分类:
其他好文 时间:
2020-02-04 22:00:30
阅读次数:
95
在一个 s 个点的图中,存在 s - n 条边,使图中形成了 n 个连通块,第 i 个连通块中有 $a_i$ 个点。
现在我们需要再连接 n - 1 条边,使该图变成一棵树。对一种连边方案,设原图中第 i 个连通块连出了 $d_i$ 条边,那么这棵树 T 的价值为:
$$val(T) = (\p... ...
分类:
其他好文 时间:
2019-12-30 14:13:57
阅读次数:
80