![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
矩阵树定理
1035719430
浙江弱校弱选手
展开
-
bzoj4031[HEOI2015]小Z的房间(矩阵树定理)
Description你突然有了一个大房子,房子里面有一些房间。事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子是一个房间或者是一个柱子。在一开始的时候,相邻的格子之间都有墙隔着。你想要打通一些相邻房间的墙,使得所有房间能够互相到达。在此过程中,你不能把房子给打穿,或者打通柱子(以及柱子旁边的墙)。同时,你不希望在房子中有小偷的时候会很难抓,所以你希望任意两个房间之间都只有...原创 2019-01-26 19:34:43 · 211 阅读 · 0 评论 -
bzoj1016 [JSOI2008]最小生成树计数(矩阵树定理,最小生成树)
Description 现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树。(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的)。由于不同的最小生成树可能很多,所以你只需要输出方案数对31011的模就可以了。Input 第一行包含两个数,n和m,其中1<=n<=100; 1<=m<=1...原创 2019-01-26 19:41:05 · 288 阅读 · 1 评论 -
bzoj1002[FJOI2007]轮状病毒(生成树计数)
Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道。如下图所示 N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不同的3轮状病毒,如下图所示 现给定n(N<=100),编程计算有多...原创 2019-01-26 21:17:44 · 300 阅读 · 0 评论 -
正睿省选模拟附加赛3T2(JZOJ5153)(矩阵树定理,线性代数)
很显然的想法就是计算每条边的贡献,显然贡献就是边权∗*∗选这条边的方案数,方案数为总生成树方案–去掉这条边的方案数,暴力修改矩阵复杂度O(mn3)O(mn^3)O(mn3)mmm 条边每次都只修改矩阵中一行的两个值,考虑优化计算去掉每条边的方案数。假设 MMM 为代数余子矩阵,有∣A∣=∑i=1nAi,j∗Mi,j|A|=\sum_{i=1}^n A_{i,j}*M_{i,j}∣A∣=...原创 2019-03-02 19:36:18 · 351 阅读 · 0 评论