Loading

2022 第一轮省队集训 Day3

100+35+50。

T1

有线性做法。

T2

多项式做法完全听不懂。好像有 dp 做法。

T3

拉格朗日反演

不会。

q-模拟

指的是在原来的理论里引入一个 \(q\),使得 \(q\to 1\) 时与原理论相同。

定义 q-整数 \([k]_q=\frac{1-q^k}{1-q}\),这样 \(\lim_{q\to 1} [k]_q=k\)。所以 \([k]!_q=\frac{(1-q^k)(1-q^{k-1})\cdots(1-q)}{(1-q)^k}\)

q-二项式定理

高妙的扰动方法。

我们设

\[F(q,z)=\prod_{i=0}^{n-1}(1+q^iz). \]

扰动

\[\begin{aligned} F(q,qz)&=\prod_{i=0}^{n-1} (1+q^{i+1}z)\\ &=\prod_{i=1}^n (1+q^iz). \end{aligned} \]

那么

\[(1+z)F(q,qz)=F(q,z)(1+q^nz).\tag{1} \]

\(f_i(q)\)\([z^i]F(q,z)\),因为

\[[z^i]F(q,qz)=q^i[(qz)^i]F(q,qz)=q^if_i(q), \]

提取 \((1)\) 左右两边的 \([z^i]\)\(q^if_i(q)+q^{i-1}f_{i-1}(q)=f_i(q)+q^nf_{i-1}(q)\)。化简得:

\[f_i(q)=\frac{q^n-q^{i-1}}{q^i-1}f_{i-1}(q). \]

根据这个可以归纳得:

\[f_i(q)=\frac{(q^n-q^{i-1})(q^n-q^{i-2})\cdots(q^n-1)}{(q^i-1)(q^{i-1}-1)\cdots(q-1)}f_0(q). \]

提出若干 \(q\) 的次方:

\[f_i(q)=q^{i(i-1)/2}\frac{(q^{n-i+1}-1)\cdots(q^n-1)}{(q^i-1)(q^{i-1}-1)\cdots(q-1)}f_0(q).\tag{2} \]

因为 \(f_0(q)=F(q,0)=1\),所以 \(f_0(q)\) 可以去掉。

考虑在 \((2)\) 中硬凑 q-阶乘 出来,得到

\[f_i(q)=q^{i(i-1)/2}\binom{n}{i}_q, \]

其中 q-二项式系数

\[\binom{n}{i}_q=\frac{[n]!_q}{[i]!_q[n-i]!_q}. \]

于是得到了 q-二项式定理:

\[\prod_{i=0}^{\color{red}{n-1}} (1+q^iz)=\sum_{i=0}^n q^{i(i-1)/2}\binom{n}{i}_qz^i. \]

还有负指数的形式,不想写了。

Jacobi 三重积

\[\prod_{r\ge 1} (1-q^{2r})(1+q^{2r-1}z)(1+q^{2r-1}z^{-1})=\sum_{k\in \mathbb{Z}} q^{k^2}z^k. \]

证明略。

推论是五边形数定理:

\[\prod_{i\ge 1}(1-z^i)=\sum_{i\in \mathbb{Z}} (-1)^i z^{(3i^2+i)/2}. \]

可以发现划分数的 OGF 就是上面那玩意的倒数。

逆序对

长为 \(n\) 的排列的逆序对数量的 OGF 是 \(F_n(q)=[n]!_q=\frac{(q^n-1)\cdots(q-1)}{(q-1)^n}\)

考虑 \(G_n(q)=F_n(q)\bmod q^{k+1}\) 如何计算,也就是 \([n]!_q\) 截取前 \(k\) 项。

做法 1

假如 \(n\ge k\),此时五边形数定理的左边就是 \(G_n(q)\)。但右边只有 \(O(\sqrt{k})\) 项,将它们与 \((q-1)^{-k}\) 卷积起来即可。\(O(k\sqrt{k})\)

做法 2

感谢杜爷的指导!!!这里有高妙的技巧。

考虑 q-二项式定理 的一个奇怪用法:

\[(1-q)^n F_n(q)=\prod_{i=0}^{n-1} (1-q^i\cdot q)=\sum_{i=0}^n q^{i(i+1)/2} \binom{n}{i}_q.\tag{3} \]

当我们从 \(\binom{n}{i}_q (1-q)^{-n}\) 推到 \(\binom{n}{i+1}_q (1-q)^{-n}\) 时,会乘上

\[\frac{[n-i]_q}{[i+1]_q}=\frac{q^{n-i}-1}{q^{i+1}-1}. \]

因为只需要保留 \(q^0,q^1,\dots,q^k\) 项,所以分子可以 \(O(k)\) 暴力乘。

考虑分母怎么做:实际上是已知多项式 \(A(x)\) 和一个正整数 \(m\),要求出 \(B(x)=\frac{A(x)}{1-x^m}\)。将分母移过去,\((1-x^m)B(x)=A(x)\)。提取两边的系数,

\[[x^i]B(x)-[x^{i-m}]B(x)=[x^i]A(x). \]

\([x^0]B(x),[x^1]B(x),\dots,[x^{m-1}]B(x)\) 都是零,用广义二项式定理展开 \((1-x^m)^{-1}\) 就可以证明这点。所以直接递推即可,单次是 \(O(k)\) 的。而我们只需要递推 \(O(\sqrt{k})\) 次(因为 \((3)\) 的右边的 \(q\) 的次数),所以总的是 \(O(k\sqrt{k})\)

拆分数

一种做法是五边形数定理。

有个东西叫做 Ferrers diagram,可惜我没听懂。

这里还有两个例子。

快速 q-阶乘

完全没听懂。

posted @ 2022-06-20 21:15  Alan_Zhao_2007  阅读(58)  评论(0编辑  收藏  举报