EX 1.1 习题
基础技术¶
P4931 [MtOI2018] 情侣?给我烧了!¶
首先考虑二项式反演,令 \(g(n,k)\) 表示 \(n\) 对恰好有 \(k\) 对坐在一起的方案数,\(h(n,k)\) 表示所有先选定 \(k\) 个,其他任意排的方案数之和。
而
先选定 \(i\) 个座位,在选定 \(i\) 对情侣,这 \(i\) 对可以左右任意换,其他 \(2(n-i)!\) 个任意排。
试图预处理 \(g(n,k)\) 只能得到一个 \(\mathcal O(n^3)\) 预处理的做法,每次重算是 \(\mathcal O(Tn^2)\) 的,都不太行。
考虑先选定 \(k\) 对坐在一起,再乘上剩下的一对都不交的方案数。
那么问题即求出 \(c=0,1,2,\cdots, n\) 的 \(g(c,0)\)。
这是可以 \(\mathcal O(n^2)\) 预处理的。
显然问题就在于处理 \(g(c, 0)\) 上,考虑优化其处理,下面 \(g(c,0)\) 简记为 \(g(c)\)。
总之先化成卷积的形式,把 \((n-i)\) 和 \(i\) 分别放一起。 $$ \begin{aligned} g(n)&=\sum_{i=0}^{n}(-1)^i\qty(\frac{n!}{(n-i)!i!})^2i!2^i(2(n-i))!\ &=(n!)^2\sum_{i=0}^{n}\frac{(2(n-i))!}{(n-i)!^2}\cdot \frac{(-2)^i}{i!} \end{aligned} $$
设 \(a(n)=\frac{(2n)!}{n!^2},b(n)=\frac{(-2)^n}{n!}\),它们对应的 \(\OGF\) 分别为 \(A(x),B(x)\)。 $$ A(x)=\sum_{n=0}^{\infty}\frac{(2n)!}{n!^2}x^n=\sum_{n=0}^{\infty}\binom{2n}{n}x^n=\dfrac{1}{\sqrt{1-4x}} $$
考虑
凑点 ODE 出来: $$ G'(x)=\frac{\mathrm{e}^{-2x}\cdot 8x}{(1-4x)^{3/2}}\ \frac{1-4x}{8x}G'(x)=G(x)\ G'(x)=4x\cdot G'(x)+8x\cdot G(x) $$ 即: $$ g(n)=\frac{4(n-1)g(n-1)+8g(n-2)}{n} $$