QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: jiangly

Posted at: 2025-12-12 23:45:39

Last updated: 2025-12-12 23:45:43

Back to Problem

题解

我们可以把点分成三个集合:$A,B,C$,其中 $A$ 是一个团,$B$ 中每个点和 $A$ 中 $1$ 到 $|A|-1$ 个点有边(内部没有边),$C$ 中是孤立点。

枚举一个集合中 $A$ 集合的点数,设为 $i$,那么答案一定可以取到 $i(|A|-i)+\sum_{x\in B} \min\{deg(x),\max\{i,|A|-i\}\}$。

接下来考虑计数,$C$ 中每个点直接乘上 $2$。

枚举 $i$,设分成的集合是 $X,Y$。如果 $w_i$ 最大的点和最小的点在不同的集合,假设是 $X$ 和 $Y$,对于 $B$ 中的每个点 $x$,如果 $deg(x)<|X|$,那么说明 $w_i$ 最大的若干个点应该属于 $X$,否则说明 $w_i$ 最小的若干个点应该属于 $Y$。剩下的点就是组合数。

如果 $w_i$ 最大的点和最小的点在相同的集合也是类似的情况,最后方案数还是一个组合数。

有很多细节要分类讨论,例如 $B$ 为空、$B$ 中度数都很小、$i=|A|-i$ 等等。

时间复杂度 $O(n^2)$。

Comments

No comments yet.