给定 $n$ 个点的无向带权完全图,边权为 $1\sim\frac{n(n-1)}{2}$。对于满足 $1\leq k\leq n$ 的每个 $k$ 求出将原图划分成 $k$ 个组的方案数,满足组间边的权大于组内边的权值,答案对 $998244353$ 取模。
$n\leq 1500$
组间边$>$组内边,就是最小的 Kruskal重构树。
即构成重构树之后,一组方案就是重构树上的一个子树。
- 但需要注意,建完Kruskal重构树,并不能保证组间边$>$组内边,每次建的时候需要特判,是否把所有之间的边加进去,如果没有显然,显然这个子树会出现一个大于组间边的组外边。
那么 checkcheck 每个子树能否成为一个联通块,然后做一个树上背包即可。
树上背包重载一下$dp[x]$的乘法即。然后好像可以证明复杂度不超过$O(n^2)$
代码
1 |
|