Luogu6789 寒妖王
题意 : 给定
每条边有
答案对
计算各个方案的权值和然后除以
注意到“生成基环树”这一限制和“生成树”这一限制都具有拟阵性质,于是用类似 Kruskal 的算法可以求解“最大生成基环森林”。
于是我们就得到了
不妨设边权互不相等,将边权从大到小排序,对每条边
考虑比这条边权值更大的边集
这条边两侧是同一个基环树。(即联通,但不是一棵树)
这条边两侧是两个不同的基环树。
对于第一类情况,正难则反,枚举边
记
(换句话说,若某种方案
对于
的 ,有转移 : 分两类讨论,不加入或加入。其中连通图内部多边没关系,但是树内部不能多边。 若
都不在 内,由定义,不考虑这条边,无贡献。 若
其中之一在 内,考虑这条边,但一旦这条边出现, 必不是极大联通块,仍无贡献。
第一类方案数为
第二类方案数需要枚举
复杂度为