AT_abc288_h [ABC288Ex] A Nameless Counting Problem
和异或图本质上一样,这个题因为变成了完全图所以复杂度得以优化。
发现要求单调不降,仔细研究一下发现问题在于原做法可能有多个相同的元素,导致你不能简单的除以一个 \(n!\) 就解决了。
因为有 \(x \oplus x = 0\),所以此时相同元素我们可以丢掉,那么设 \(f_i\) 为 \(i\) 个互异元素做操作的方案数,现在的问题就变成了我们要求 \(f_i\)。
使用互异集合关系容斥,容斥钦定若干组数相同,根据异或图的容斥(这里我指的是求一个点集连通的容斥系数和)为 \((-1)^{n - 1}(n - 1)!\),因为是完全图,所以可以推得容斥系数的具体形式。
考虑像异或图那样 DP,设 \(f_{i, j}\) 为前 \(i\) 个点,此时决定了 \(j\) 个奇数连通块的容斥系数,最后将 \(j\) 个奇数连通块丢进我们所谓的自由元 DP 里随便算一下即可。
因为上界都是 \(m\) 我们没有必要对最小元做手脚。

浙公网安备 33010602011771号