生成树计数
Master.Yi
学习他人,提升自己;
提升自己,帮助他人。
展开
-
矩阵树定理
求 生成树边权之积 的和普通:度数矩阵 - 邻接矩阵树形图:内向树(指向根,根出度为0):出度矩阵 - 邻接矩阵外向树(根往外,根入度为0):入度矩阵 - 邻接矩阵原创 2020-08-02 15:17:06 · 207 阅读 · 0 评论 -
LOJ#2320. 「清华集训 2017」生成树计数
题目描述:图中有 nnn 个连通块,每个连通块有 aia_iai 个点,需要再连 n−1n-1n−1 条边,使其变成一棵树。对一种连边方案,设原图中第 iii 个连通块连出了 did_idi 条边,那么这棵树 TTT 的价值为val(T)=(∏i=1ndim)∗(∑i=1ndim)\text{val}(T)=\left(\prod_{i=1}^nd_i^m\right)*\left(\sum_{i=1}^nd_i^m\right)val(T)=(i=1∏ndim)∗(i=1∑ndim)求所原创 2020-06-22 20:07:41 · 171 阅读 · 0 评论 -
Codeforces917D Stranger Trees【生成树方案数树形DP】
题目描述:给出一棵nnn个点的无边权无向树。对每个k∈[0,n−1]k\in[0,n-1]k∈[0,n−1],求出恰有kkk条边与原树重合的nnn个点的树的数量。题目分析:O(n4)O(n^4)O(n4)的插值解法已经被吊打了。首先求出强制kkk条边相等,剩下的边任意的方案数g(k)=∑i≥k(ik)f(i)g(k)=\sum_{i\ge k}\binom ikf(i)g(k)=∑i≥k(ki)f(i),二项式反演/容斥一下可得f(k)=∑i≥k(−1)i−k(ik)g(i)f(k)=\sum_原创 2020-06-01 19:13:45 · 229 阅读 · 0 评论 -
20200504 zr T1【映射树与原树重合的树个数】
题目描述:给定一个111到nnn的的排列p1,p2,…,pnp_1,p_2,…,p_np1,p2,…,pn,问有多少个不同的有标号无根树,满足如果iii与jjj有边那么pip_ipi与pjp_jpj之间也有边,对998244353998244353998244353取模。n≤500000n\le500000n≤500000题目分析:首先将排列拆成一个个的置换环。考虑两个循环之间...原创 2020-05-04 22:34:40 · 124 阅读 · 0 评论 -
20200330 T1 烷烃计数
题目描述:计算化学式为CnH2n+2C_nH_{2n+2}CnH2n+2的烷烃的同分异构体个数。等价于求 nnn 个点的无标号无根树并且满足每个点的度数 ≤4\le4≤4 的树的个数。多组数据,对998244353取模。题解:1. T=1, n≤20001.~~~T=1,~n\le20001. T=1,&n...原创 2020-04-04 12:15:03 · 998 阅读 · 1 评论 -
省选模拟赛20191211 T2 B【矩阵树定理+拉格朗日插值】
题目描述:题目分析:首先一定可以找到一种加边之后删边的方法对应一次性添加不超过k条非树边,然后断掉原来的树边形成一棵新树的方案。(不然就会有环)原始的矩阵树定理是度-邻,边权形式是度数改为边权和,邻接情况改为边权,所求为生成树的边权之积的和。Code:#include<bits/stdc++.h>#define maxn 55using namespace std;...原创 2019-12-18 08:30:14 · 206 阅读 · 0 评论 -
prufer序列
OI-wiki太强了!!!目录Prufer 序列对树建立 Prufer 序列线性构造Prufer 序列的性质用 Prufer 序列重建树线性时间重建树Cayley 定理图连通方案数习题转载 2019-12-17 08:24:47 · 136 阅读 · 0 评论