随笔分类 -  其它--矩阵树定理

摘要:"传送门" ~~抄题解~~ $Task0$,随便做一下,设 $cnt$ 为相同的边的个数,输出 $y^{n cnt}$ $Task1$,给定其中一棵树 设初始答案为 $y^n$,首先可以发现,每有一条边和给定的树相同就会使得答案除去 $y$ 那么可以利用矩阵树定理,已经有的边权值为 $y^{ 1}$ 阅读全文
posted @ 2019-02-01 22:43 Cyhlnj 阅读(733) 评论(2) 推荐(3)
摘要:"传送门" 由于是边权三进制不进位的相加,那么可以考虑每一位的贡献 对于每一位,生成树的边权相当于是做模 $3$ 意义下的加法 考虑最后每一种边权的生成树个数,这个可以直接用生成函数,在矩阵树求解的时候做一遍这个生成函数的模 $3$ 意义下的循环卷积求出系数即可 暴力多项式运算不可取 考虑选取 $3 阅读全文
posted @ 2019-01-25 23:14 Cyhlnj 阅读(616) 评论(1) 推荐(0)
摘要:"传送门" 直接的想法就是设 $x^k$ 为边权,矩阵树定理一波后取出 $x^{nk}$ 的系数即可 也就是求出模 $x^k$ 意义下的循环卷积的常数项 考虑插值出最后多项式,类比 $DFT$ 的方法 假设我们要求 $$C_i=\sum_{j=0}^{n}\sum_{k=0}^{n}A_jB_k[( 阅读全文
posted @ 2018-12-29 14:38 Cyhlnj 阅读(250) 评论(0) 推荐(0)
摘要:"BZOJ" 答案就是 $n^{m 1}m^{n 1}$ $prufer$ 证明: $n$ 中的数字出现 $m 1$ 次,$m$ 中出现 $n 1$ 次,根据 $prufer$ 解码可知,$n,m$ 中的数字和内部顺序确定了,那么它们的相对位置也可以确定 $matrix tree$ 证明: 构建基尔 阅读全文
posted @ 2018-11-04 22:46 Cyhlnj 阅读(210) 评论(0) 推荐(0)
摘要:做法 入度矩阵 邻接矩阵 然后如果是有根树,去掉根的那一行和列 否则任意去掉一行一列 然后求出行列式就是生成树的个数 如果是有向图 可能就是就是指$n 1$条边,根可以到达所有点的图的个数 求行列式 高斯消元成上三角 对角线的乘积就是了 cpp for(int i = 2; i 阅读全文
posted @ 2018-05-05 16:09 Cyhlnj 阅读(167) 评论(0) 推荐(0)