状压(集合幂级数)数符合某些性质的导出子图/边子图数。
APIO2025 记录
限制分为无向图的连通性和有向图的强连通性,以及双连通性。
要做的比 好,需要集合幂级数的运算。
连通性
“已知要求连通的信息推及不要求连通的信息” 及其逆过程。
考虑 exp/ln 的组合意义:设 表示导出子图 的权值, 表示 的所有划分方案的权值和,划分方案的权值为划分出的子集的权值积。有 。
数连通子图
计数边子图使得是连通图。
。
设 为 的导出子图的边子图有多少是连通图,。则 恰好考虑 的导出子图的边子图个一次,。 反推 。
数连通二分子图
计数边子图使得连通且是二分图。
。
枚举左部点 ,右部点 ,左右任意连。
忽略连通限制,原图的一个二分子图被计入 次, 为弱连通块数。所以 exp 每拼上一个子图都要乘 。
设 为 的答案乘 ,,子集卷积求 ,。
数杏仁图
给定杏仁的两极 ,对于每个 计数边子图使得是杏仁且 。
。
把从 出发的所有链状压求出来 。把这些链挖掉两极 exp 起来。询问时枚举 所在的链和 剩下的任意组合的方案相乘。
Q6954
计数边子图使得连通且所有环的交非空。
。
两个环交于大于两个点会形成新的大环,这三个环至多交于 点。
所以合法的状态有:树、基环树、 个点使得删去后图中无环。容斥掉树上删点也无环:。
子集的生成树数可以矩阵树 。也可以依次对于每个 ,算 的方案数,即把 的子集乘上与 的连边数 exp 起来,复杂度 。
基环树是枚举环上的点集 ,先状压出环上排列的方案数,再把环缩成一个点做生成树计数。每个基环树有一个与环大小相关的容斥系数。复杂度 。
删一个点图中无环,枚举删 ,剩下的子集内部有生成树数,还有至少一条连向 ,exp 起来。复杂度 。
删两个点图中无环,枚举删 ,每个剩下的子集选至多一条边与 连,不能没有,exp 起来,复杂度 。还有一种数重的情况,变成 和 不连通,即两个数
图 k 匹配
加速到 。
强连通性
无向图重定向为 DAG 的方案数
P10221
设 表示 分为 个非空段形成 DAG 的方案, 为 分为 个非空段段间没有边的方案数。容斥系数同 DAG 计数,可以做到 。设 ,,拉插之后算系数,复杂度 。