题意 给你 \(n\) 个点的无向完全图,指定一棵树 \(S\),问有多少棵生成树和这棵树的公共边数量为 \(k\in[0,n-1]\) \(n\leq 100\) 分析 考虑矩阵树定理,把对应的树边的边权设置成 \(x\) 然后构造基尔霍夫矩阵, 结果记为 \(val\) ,有 \[val=\sum_\limits{i=0}^{n-1}x^ians_i\] 其中 \(ans_i\) 表示和 \(S\) 的公共边数量为 \(i\) 的生成树的个数. 发现这是一个关于 \(x\) 的多项式,我们要…
题目链接 CF917D:https://codeforces.com/problemset/problem/917/D TopCoder13369:https://community.topcoder.com/stat?c=problem_statement&pm=13369 题解 首先分析 CF917D. 我们考虑能否将树上的边的贡献特殊表现出来. 记原树为 \(T\),我们构造一幅 \(n\) 个结点的无向完全图,并设置一个值 \(x\),对于无向边 \((u, v)\),其权值 \(w_{…
Codeforces 题目传送门 & 洛谷题目传送门 刚好看到 wjz 在做这题,心想这题之前好像省选前做过,当时觉得是道挺不错的题,为啥没写题解呢?于是就过来补了,由此可见我真是个大鸽子(( 跑题了跑题了-- 这里提供两种解法: Algorithm 1. 注意到"恰好"二字有点蓝瘦,因此套路地想到二项式反演,也就说我们钦定 \(k\) 条边必须与原树中的边重合,其余边可以随便连的方案数,我们假设这些与原树中的边重合的边构成的集合为 \(E'\),那么 \(E'\) 中显然包含…
CF917D Stranger Trees 题目描述 给定一个树,对于每个\(k=0,1\cdots n-1\),问有多少个生成树与给定树有\(k\)条边重合. 矩阵树定理+高斯消元 我们答案为\(f_k\).假设我们呢将原树上的边权设为\(x\),其他的边权设为\(1\),那么我们做一次矩阵树定理求出来的东西就是\(\displaystyle \sum_{i=0}^{n-1}f_i x^i\).于是我们找\(n\)个不同的\(x\),然后高斯消元就行了. 代码: #include<bits/s…
矩阵树定理 Matrix Tree ​ 矩阵树定理主要用于图的生成树计数. 看到给出图求生成树的这类问题就大概要往这方面想了. 算法会根据图构造出一个特殊的基尔霍夫矩阵\(A\),接着根据矩阵树定理,用\(A\)计算出生成树个数. 1.无向图的生成树计数 对于给定的可含重边的连通无向图\(G\),求其生成树的个数.求法如下: 定义度数矩阵\(D\):该矩阵仅在对角线上有值,\(D_{i,i}\)表示\(i\)号点的度数.对于图中每一条无向边\((u,v)\),\(D_{u,u}\)++,\(D_…
有同学在loj上找到了加强版 所以这道题是可以交的.LINK:生成树求和 加强版 对于30分 爆搜 可实际上我爆搜只过了25分 有同学使用按秩合并并茶几的及时剪枝通过了30分. const int MAXN=45; int n,m; struct wy { int x,y,z; }t[MAXN]; int w[MAXN],f[MAXN];ll ans; inline int getfather(int x){return x==f[x]?x:getfather(f[x]);} inline in…
题面传送门 一道很神的矩阵树定理+乱搞的题 %%%%%%%%%%%%%%% vfk yyds u1s1 这种题目我是根本想不出来/kk,大概也就 jgh 这样的随机化带师才能想到出来吧 首先看到生成树计数可以很显然地想到矩阵树定理,但是由于此题是根据生成树个数构造合法的解的方案,所以一看就没有什么正经的做法(有提答题内味儿了). 一个很显然的性质是:对于一张图我们可以考虑将其进行边双连通分量缩点,那么最终的生成树个数显然等于所有边双连通分量中生成树的乘积.这就启发我们采用这样一个思想,将原来 \…
In some countries building highways takes a lot of time... Maybe that's because there are many possiblities to construct a network of highways and engineers can't make up their minds which one to choose. Suppose we have a list of cities that can be c…
传送门 题意: 给定一个一边点数为n,另一边点数为m,共有n*m条边的带标号完全二分图$K_{n,m}$ 求生成树个数 1 <= n,m,p <= 10^18 显然不能暴力上矩阵树定理 看过推到完全图的生成树个数后这道题也不难做 构建出基尔霍夫矩阵,找一个主子式,所有行加起来放一行上,用这一行消消消就发现最后对角线上有$n-1$个$m$和$m-1$个$n$和$1$个$1$ 然后要用快速乘...蒟蒻第一次用快速乘... #include <iostream> using namesp…
4596: [Shoi2016]黑暗前的幻想乡 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 559  Solved: 325[Submit][Status][Discuss] Description 四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖 怪涌入了幻想乡,扰乱了幻想乡昔日的秩序.但是幻想乡的建制派妖怪(人类) 博丽灵梦和八云紫等人整日高谈所有妖怪平等,幻想乡多元化等等,对于幻想乡 目前面临的种种大问题却给不出合适的解…