容斥

边 DP 边容斥

P8329 [ZJOI2022] 树

顺着 DP,记录两边非叶子个数,每次枚举 \(i\) 在哪边是叶子。注意可能一个点在两边都是叶子,这会被算 \(2\) 次,所以可以强制 \(i\) 在两边都是叶子,带个系数 \(-2\),就消掉了。

计数 \(n\) 个点,\(m\) 条边的简单图,满足有 \(k\) 个点度数为奇数。

先不考虑重边,设 \(f(e, i)\)\(e\)\(i\) 个奇度点的答案,每次转移时强制 \(i\) 和之前某个相等减掉,系数大概是 \(e - 1\)\(e - 1\) 中没出现过的边数。

连通图

计数 \(n\) 个点连通图数。

枚举 \(1\) 所在的连通块。

边可以带权一个特殊情况:某个序列 \(a\),元素不能相等,求权值和,考虑容斥一个子集划分,子集内强制相等,根据正常的 \(a_i \ne a_j\) 限制容斥可以得到 \(i\) 大小的子集系数是 \(i\) 个点连通图,边权为 \(-1\),然后就能发现系数是 \((i-1)!(-1)^{i-1}\)

计数 \(n\) 个点 DAG 数 和 P6846 [CEOI2019] Amusement Park

枚举没有入度的点数。

注意可能没有枚举到所有没有入度的点,导致算重。对于有 \(c\) 个没有入度的点,贡献是 \(\sum_{i \le c} \binom ci\),所以枚举 \(i\) 时带上 \((-1)^{i-1}\) 就对了。

计数 \(n\) 个点强连通图。

和 DAG 类似,先缩点,然后枚举有哪些 SCC 没有入度。类似连通图容斥可以算出只有若干个 SCC 简单拼接(即中间无边)的方案数,然后多项式 \(\ln\) 即可变成一个强连通图。

容斥去除一些限制变成连续段问题

CF1326F2 Wise men

可以把不认识容斥成认识,然后就变成了若干没有关系的段,只和长度有关?

未完待填

posted @ 2022-07-11 23:36  RiverHamster  阅读(129)  评论(0编辑  收藏  举报
\