状压(集合幂级数)数符合某些性质的导出子图/边子图数。

APIO2025 记录

相似的容斥技巧:图计数

集合幂级数基础运算

限制分为无向图的连通性和有向图的强连通性,以及双连通性。

要做的比 好,需要集合幂级数的运算。

连通性

“已知要求连通的信息推及不要求连通的信息” 及其逆过程。

考虑 exp/ln 的组合意义:设 表示导出子图 的权值, 表示 的所有划分方案的权值和,划分方案的权值为划分出的子集的权值积。有

数连通子图

计数边子图使得是连通图。

的导出子图的边子图有多少是连通图,。则 恰好考虑 的导出子图的边子图个一次, 反推

数连通二分子图

计数边子图使得连通且是二分图。

枚举左部点 ,右部点 ,左右任意连。

忽略连通限制,原图的一个二分子图被计入 次, 为弱连通块数。所以 exp 每拼上一个子图都要乘

的答案乘 ,子集卷积求

数杏仁图

给定杏仁的两极 ,对于每个 计数边子图使得是杏仁且

把从 出发的所有链状压求出来 。把这些链挖掉两极 exp 起来。询问时枚举 所在的链和 剩下的任意组合的方案相乘。

Q6954

计数边子图使得连通且所有环的交非空。

两个环交于大于两个点会形成新的大环,这三个环至多交于 点。

所以合法的状态有:树、基环树、 个点使得删去后图中无环。容斥掉树上删点也无环:

子集的生成树数可以矩阵树 。也可以依次对于每个 ,算 的方案数,即把 的子集乘上与 的连边数 exp 起来,复杂度

基环树是枚举环上的点集 ,先状压出环上排列的方案数,再把环缩成一个点做生成树计数。每个基环树有一个与环大小相关的容斥系数。复杂度

删一个点图中无环,枚举删 ,剩下的子集内部有生成树数,还有至少一条连向 ,exp 起来。复杂度

删两个点图中无环,枚举删 ,每个剩下的子集选至多一条边与 连,不能没有,exp 起来,复杂度 。还有一种数重的情况,变成 不连通,即两个数

图 k 匹配

加速到

强连通性

无向图重定向为 DAG 的方案数

P10221

表示 分为 个非空段形成 DAG 的方案, 分为 个非空段段间没有边的方案数。容斥系数同 DAG 计数,可以做到 。设 ,拉插之后算系数,复杂度