雅礼集训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] \]

后记

杂题同样不写,考之前看一下。

posted @ 2020-06-15 11:23  lcyfrog  阅读(51)  评论(0编辑  收藏