生成函数乱做

城市规划

\(f_i\) 表示 \(i\) 个点的无向图, \(g_i\) 表示 \(i\) 个点的无向连通图, 显然有 \(f_i = 2^{\binom n 2}\)

trick : 枚举特定点, 把要计数的东西分成两个部分。

在这里, 枚举1号点的连通块大小, 有 \(f_n = \sum\limits_{i=1}^{n}g_{i}\dbinom {n - 1} {i - 1} \times f_{n - i}\)

把组合数拆掉, 有 \(\dfrac{1}{(n-1)!}f_n = \sum\limits_{i=1}^{n}g_i\dfrac{1}{(i-1)!} \times f_{n - i}\dfrac{1}{(n-i)!}\)

于是设 \(F(x) = \sum\limits_{i=0}^{n}f_i \dfrac{1}{i!}\)\(G(x) = \sum\limits_{i=1}^{n}g_i \dfrac{1}{(i-1)!}\)\(H(x) = \sum\limits_{i=1}^{n}f_i\dfrac{1}{(i-1)!}\)

\(H = F \times G\)\(G = H \times F^{-1}\) , 求逆即可。

The Child and Binary Tree

首先列出柿子 : 设 \(f_n\) 表示权值为 \(n\) 的二叉树个数, \(g_i\) 表示权值为 \(i\) 是否可选, 枚举左右子树:

\(f_0 = 1\), \(f_n = \sum\limits_{i=1}^{n}g_i\sum\limits_{j=0}^{n-i}f_jf_{n - i - j}\), 即 \(F = G \times F^2 + 1\), 加 1 是为了特判 0。

解这个方程可得 \(F = \dfrac{1 \pm \sqrt{1 - 4G}}{2G}\) , 即 \(2 \ G F = 1 \pm \sqrt{1 - 4G}\), 把 \(0\) 带进去可得正号为 \(1\), 负号为 \(0\)

所以选负根。

整数的lqp拆分

众所周知斐波那契的生成函数是 \(F(x) = \dfrac{x}{1 - x -x^2}\)\(f_0 = 0, f_1 = 1, f_i = f_{i - 1} + f_{i - 2}\)

答案即是 \(\sum\limits_{i=0}^{\infty} F^i[n] = \dfrac{1 - x - x^2}{1 - 2x - x^2} = 1 + \dfrac{x}{1 - 2x - x^2}\)

然后经过一系列计算可得 \(\dfrac{x}{1 - 2x - x^2} = \dfrac{\sqrt 2} {4} (\dfrac{1}{1-(1+\sqrt2)x} - \dfrac{1}{1 - (1 - \sqrt 2)x})\)

\(\sqrt2\)\(10^9 + 7\) 有逆元, 可以暴力算出来, 然后就是一个快速幂的事了。

HAOI2018 染色

题意 : 给你 \(n\) 个位置和 \(m\) 种颜色, 你需要把 \(n\) 个位置染色, 定义一次染色的权值为恰好出现 \(S\) 次颜色的个数 \(k\), 则有 \(W_k\) 的贡献, 求所有的染色方案的权值和。

看见恰好直接套用二项式反演, 设 \(f_n\) 表示有 \(n\) 个颜色出现 \(S\) 次的权值, \(g_n\) 为钦定 \(n\) 个颜色出现 \(S\) 次的权值, 则有 \(f_x=\sum\limits_{i=x}^{n}(-1)^{i - x}\dbinom i x g_i\)

\(g_x = \dbinom m x \dbinom n {Sx} \dfrac{(Sx)!}{(S!)^x} (m - x)^{n - Sx}\), 表示从 \(m\) 种颜色种选 \(x\) 个, 再选 \(Sx\) 个位置, 由于颜色相同需要消序(多重集的排列), 其他任选的方案。

依然得把 \(\dbinom i x\) 拆成 \(\dfrac{i!}{x!(i-x)!}\), 把 \(x!\) 乘过去, \(i!\) 放在右边, \((i-x)!\) 放在左边,

\(F(x) = \sum\limits_{i=0}^{n}(-1)^{i} \dfrac{1}{i!}\), $G(x) = $ \(\sum\limits_{i=0}^{n}i!\dbinom m i \dbinom n {Si} \dfrac{(Si)!}{(S!)^i} (m - i)^{n - Si}\)

\(f_x = \sum\limits_{i=x}^{n} F(i-x)G(i)\), 仿造 ZJOI2014 力 的套路, 把 \(F\)\(G\) 翻转后卷积一下即可。

玩游戏

\(ans_k = \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}(a_i+b_j)^k\), 再除以 \(nm\)

\(=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}\sum\limits_{t=0}^{k}\dbinom k t a_i^tb_j^{k-t}\)

\(k! \times ans_k=\sum\limits_{t=0}^{k}(\dfrac{\sum\limits_{i=1}^{n}a_i^t}{t!})(\dfrac{\sum\limits_{j=1}^{n}b_i^{k-t}}{(k-t!)})\)

只要快速求出 \(\sum\limits_{i=1}^{n}a_i^t\) 即可。

把答案写成生成函数的形式:\(=\sum\limits_{i=1}^{n}\dfrac{1}{1 - a_ix}\)

\(=n-x\sum\limits_{i=1}^{n}\dfrac{-a_i}{1-a_ix}\)

众所周知, \((\ln(1-a_ix))' = \dfrac{-a_i}{1 -a_ix}\), 所以原式等于 :

\(n-x\sum\limits_{i=1}^{n}\ln'(1-a_ix) = n - x(\sum\limits_{i=1}^{n}\ln(1-a_ix))'\)

\(=n - x(\ln\prod\limits_{i=1}(1-a_ix))'\), 里面的乘积可以分治求。

CTS2019 珍珠

相当于求 \(\sum\limits_{i=1}^{D} \left \lfloor \dfrac{\operatorname{cnt_i}}2 \right \rfloor \geq m\), 其中 \(\operatorname{cnt_i}\) 表示元素 \(i\) 的出现次数, 化简一下可得 :

\(\sum\limits_{i=1}^{D}\operatorname{cnt_i}\mod 2 \leq n - 2m\)

注意到 \(n -2m <0\) 时,答案为 \(0\)\(n - 2m \geq D\) 时, 答案为 \(D^n\)

剩下的范围已经比较小了,于是可以对于每一个 \(i \leq n - 2m\), 算出恰好有 \(i\) 个出现次数为奇数的方案,看到恰好,相到二项式反演 。

\(f_i\) 表示恰好有 \(i\) 个数出现奇数的方案, \(g_i\) 表示钦定 \(i\) 个数出现奇数的方案, \(f\)\(g\) 显然可以卷积反演掉, 于是目标只用求 \(g\)

注意到此题是排列的计数,需要用到指数型生成函数(EGF),下面简单列举一些:

\(e^x = \sum\limits_{i=0}^{\infty} \dfrac{x^i}{i!} = 1 +x +\dfrac{x^2}{2!} +\dfrac{x^3}{3} + \dots \dfrac{x^n}{n!}\)

\(\dfrac{e^x+e^{-x}}2 = \sum\limits_{i=0}^{\infty}\dfrac{x^{2i}}{(2i)!} = 1 + \dfrac{x^2}{2!} +\dfrac{x^4}{4!} +\cdots +\dfrac{x^{2n}}{(2n)!}\)

\(\dfrac{e^x-e^{-x}} 2= \sum\limits_{i=0}^{\infty}\dfrac{x^{2i+1}}{(2i+1)!}\)

还有三角函数的泰勒展开式 :

\(\sin(x) = \sum\limits_{i=0}^{\infty}(-1)^i \dfrac{x^{2i+1}}{(2i+1)!}\)\(\cos(x) = \sum\limits_{i=0}^{\infty}(-1)^i \dfrac{x^{2i}}{(2i)!}\)

好了,学到这里你应该会做 P4546 了,不就是加一个 LCT 吗, 有什么难的 !

由于本题是奇数,故使用 \(\dfrac{e^x - e^{-x}}2\) 计算。

可以得到 : \(g_k = \dbinom{D} kn! [x^n] (\dfrac{e^x-e^{-x}}2)^k(e^x)^{D-k}\)

简单解释一下就是钦定 \(k\) 个,其他任选。 开 始 化 简 :

\(=\dbinom D k\dfrac{n!}{2^k}[x^n]\sum\limits_{j=0}^{k} \dbinom k j(e^x)^j(-e^{-x})^{k-j}(e^x)^{D-k}\)

\(=\dbinom D k \dfrac{n!}{2^k}[x^n]\sum\limits_{j=0}^{k}\dbinom k j (-1)^{k-j}(e^x)^{D-2(k-j)}\)

\(=\dbinom D k \dfrac{n!}{2^k}[x^n]\sum\limits_{j=0}^{k}\dbinom k j (-1)^j(e^x)^{D-2j}\)

由于 \([x^n]e^{ax} = \dfrac{a^n}{n!}\), 所以 :

\(=\dbinom D k \dfrac{n!}{2^k}[x^n]\sum\limits_{j=0}^{k}\dbinom k j(-1)^j \dfrac{(D-2j)^n}{n!}\)

\(=\dfrac{D!}{(D-k)!2^k}\sum\limits_{j=0}^{k}\dfrac1{j!(k-j)!}(-1)^j {(D-2j)^n}\)

\(\dfrac{D!}{(D-k)!2^k} \sum\limits_{j=0}^{k}\dfrac{(D-2j)^n \times (-1)^j}{j!} \times \dfrac{1}{(k-j)!}\)

卷一卷,答案就出来了!!

posted @ 2021-12-20 14:45  henrici3106  阅读(59)  评论(0编辑  收藏  举报