雅礼集训Day3 计数
雅礼集训Day3 计数
斯特林反演
\[f(n)=\sum_{i=0}^{n}\left\{\begin{array}{l}
n \\
i
\end{array}\right\} g(i) \Longleftrightarrow g(n)=\sum_{i=0}^{n}(-1)^{n-i}\left[\begin{array}{l}
n \\
i
\end{array}\right] f(i)
\]
\[f(x)=\sum_{i=x}^{n}\left\{\begin{array}{l}i \\x\end{array}\right\} g(i) \Longleftrightarrow g(x)=\sum_{i=x}^{n}(-1)^{i-x}\left[\begin{array}{l}i \\x\end{array}\right] f(i)
\]
特殊情况:
\[f_1=\sum_{i=1}^n(-1)^{i-1}(i-1)!g(i)
\]
bzoj 4671 异或图
就是上面的式子,用线性基求一下g即可。
n个点m条边带标号无向连通图个数
容斥dp可以n^6,不细讲
考虑一个选了 m 条边的方案,且形成 \(k\) 个连通块方案块的方案是 \(F_{m, k}\)
设 \(m\) 条边,划分出来 \(j\) 个块一定不两两相连, 块内任意连边,方案是 \(G_{m, j}\)
和上面一样,斯特林反演可以得到
\[F_{m, 1}=\sum_{j \geq 1}(j-1) !(-1)^{j-1} G_{m, j}
\]
记 \(H_{i, j, m}\) 表示 DP 了 \(i\) 个点, 分了 \(j\) 个块, 当前共有 \(m\) 个边可以用的方案数。
则有:
\[G_{m, j}=\sum_{k \geq m} H_{n, j, k}\left(\begin{array}{l}
k \\
m
\end{array}\right)
\]
然后计算H的时候把j那一维省掉,每次插进一块带一个-1的系数,一个k个块的方案会算重\((k-1)!\)次。
min_max 容斥
\[\begin{array}{l}
\max (S)=\sum_{T \subseteq S}(-1)^{|T|+1} \min (T) \\
\min (S)=\sum_{T \subseteq S}(-1)^{|T|+1} \max (T)
\end{array}
\]
期望状态下也成立。
k-th max
\[\text{k-th max}(S)=\sum_{T\in S}(-1)^{|T|-k}{{|T|-1}\choose {k-1}}\text{min}(T)
\]
证明可以考虑第i大的数何时能在集合里取到min,显然是和i-1个比它大的在一起的时候,那么枚举比他大的个数带上容斥系数求和,显然只有当i=k的时候才能有1的贡献,那么二项式反演即可。
\[\sum_{j=1}^n {i-1\choose j}f_{j}=[i=k]
\]
后记
杂题同样不写,考之前看一下。