反演就是有两个函数 \(f\) 和 \(g\),可以简单得出 \(g\) 转化成 \(f\) 的式子,那么就可以从 \(f\) 推回 \(g\)。
内容:
-
子集反演
-
二项式反演
-
莫比乌斯反演
-
欧拉反演
-
斯特林反演
子集反演
若 \(f(S) = \sum_{T \in S} g(T)\),那么 \(g(S) = \sum_{T \in S} (-1)^{|S|-|T|} f(S)\)。
其实就是一个容斥,把 \(f(S)\) 当作答案集合 \(\in S\) 的方案数,\(g(S)\) 当作答案集合 \(=S\) 的方案数。
若 \(f(S) = \sum_{S \in T} g(T)\),那么 \(g(S) = \sum_{S \in T} (-1)^{|T|-|S|} f(T)\)。
同样的道理,也是一个容斥。
[ZJOI2016] 小星星
给一张 \(n\ (n \le 17)\) 个点的无重边无自环的无向图,给一棵 \(n\) 个点的树,然后你现在要给这棵树重标号,问有多少种重标号的方案使得这棵树是原图的一棵生成树。
先树形 \(\rm DP\),设 \(f_{i,j,S}\) 表示点 \(i\) 的子树,点 \(i\) 选哪个,子树对应点集 \(S\) 的方案数。
转移时对于点 \(x\),枚举 \(x\) 选哪个,然后枚举儿子合并。
这样是 \(\mathcal O(n^2 3^n)\) 的。
可以直接 \(\rm FWT\) 优化到 \(\mathcal O(2^n n^3)\)。
但还可以考虑容斥。
标签:总结,个点,sum,容斥,反演,各类,rm,mathcal From: https://www.cnblogs.com/tx-lcy/p/17922474.html