生成函数乱做
设 \(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}\) , 求逆即可。
首先列出柿子 : 设 \(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\)。
所以选负根。
众所周知斐波那契的生成函数是 \(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\) 有逆元, 可以暴力算出来, 然后就是一个快速幂的事了。
题意 : 给你 \(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))'\), 里面的乘积可以分治求。
相当于求 \(\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)!}\)
卷一卷,答案就出来了!!