容斥
边 DP 边容斥
顺着 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\) 即可变成一个强连通图。
容斥去除一些限制变成连续段问题
可以把不认识容斥成认识,然后就变成了若干没有关系的段,只和长度有关?
未完待填