Loading

q-analog

\(q\)-analog

\(q\)-analog 是一类公式的推广方式:把对象 \(A\) 推广成依赖参数 \(q\) 的对象 \(A(q)\),并使

\[\lim_{q\to1}A(q)=A. \]

例如,可以把组合数推广成 \(q\)-组合数。


定义

\(q\)-整数

\[[n]_q=\sum_{i=0}^{n-1}q^i=1+q+\cdots+q^{n-1}. \]

\(q\ne1\) 时,

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

\(q\)-阶乘

\[[n]_q!=\prod_{i=1}^n[i]_q,\qquad [0]_q!=1. \]

\(q\)-组合数

\[\begin{bmatrix}n\\m\end{bmatrix}_q =\frac{[n]_q!}{[m]_q![n-m]_q!}. \]

约定 \(m<0\)\(m>n\)\(\begin{bmatrix}n\\m\end{bmatrix}_q=0\)

\(q\to1\) 时,三者分别退化为 \(n,n!,\binom nm\)。另外,

\[\begin{bmatrix}n\\m\end{bmatrix}_q =\prod_{i=0}^{m-1}\frac{1-q^{n-i}}{1-q^{m-i}} =\prod_{i=0}^{m-1}\frac{q^n-q^i}{q^m-q^i}. \]

乘积形式的证明

由定义,

\[\begin{aligned} \begin{bmatrix}n\\m\end{bmatrix}_q &=\frac{[n]_q[n-1]_q\cdots[n-m+1]_q} {[m]_q[m-1]_q\cdots[1]_q}\\ &=\prod_{i=0}^{m-1}\frac{1-q^{n-i}}{1-q^{m-i}}. \end{aligned} \]

又有

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


基本恒等式

\(q\)-对称恒等式

\[\boxed{ \begin{bmatrix}n\\m\end{bmatrix}_q =\begin{bmatrix}n\\n-m\end{bmatrix}_q }. \]

证明

\[\begin{bmatrix}n\\n-m\end{bmatrix}_q =\frac{[n]_q!}{[n-m]_q![m]_q!} =\begin{bmatrix}n\\m\end{bmatrix}_q. \]

\(q\)-吸收恒等式

\[\boxed{ [m]_q\begin{bmatrix}n\\m\end{bmatrix}_q =[n]_q\begin{bmatrix}n-1\\m-1\end{bmatrix}_q }. \]

等价地,

\[\begin{bmatrix}n\\m\end{bmatrix}_q =\frac{[n]_q}{[m]_q} \begin{bmatrix}n-1\\m-1\end{bmatrix}_q. \]

证明

\[\begin{aligned} \frac{[n]_q}{[m]_q} \begin{bmatrix}n-1\\m-1\end{bmatrix}_q &=\frac{[n]_q}{[m]_q} \frac{[n-1]_q!}{[m-1]_q![n-m]_q!}\\ &=\frac{[n]_q!}{[m]_q![n-m]_q!}. \end{aligned} \]

\(q\)-Pascal 恒等式

\[\boxed{ \begin{bmatrix}n\\m\end{bmatrix}_q =q^{n-m}\begin{bmatrix}n-1\\m-1\end{bmatrix}_q +\begin{bmatrix}n-1\\m\end{bmatrix}_q } \]

以及

\[\boxed{ \begin{bmatrix}n\\m\end{bmatrix}_q =\begin{bmatrix}n-1\\m-1\end{bmatrix}_q +q^m\begin{bmatrix}n-1\\m\end{bmatrix}_q }. \]

证明

使用乘积形式并通分。第一项为

\[q^{n-m} \frac{\prod_{i=0}^{m-2}(1-q^{n-1-i})} {\prod_{i=1}^{m-1}(1-q^i)}, \]

第二项为

\[\frac{\prod_{i=0}^{m-1}(1-q^{n-1-i})} {\prod_{i=1}^{m}(1-q^i)}. \]

提出公因子

\[\frac{\prod_{i=0}^{m-2}(1-q^{n-1-i})} {\prod_{i=1}^{m-1}(1-q^i)}, \]

剩余部分为

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

乘回公因子即为 \(\begin{bmatrix}n\\m\end{bmatrix}_q\)。第二种形式由第一种形式配合对称恒等式得到。


\(q\)-二项式定理

\[\boxed{ \prod_{i=0}^{n-1}(1+q^ix) =\sum_{m=0}^nq^{\binom m2} \begin{bmatrix}n\\m\end{bmatrix}_qx^m }. \]

证明

\(n\) 归纳。\(n=0\) 时两边均为 \(1\)

\[P_n(x)=\prod_{i=0}^{n-1}(1+q^ix). \]

\(P_n(x)=(1+q^{n-1}x)P_{n-1}(x)\)\(x^m\) 的系数为

\[q^{\binom m2}\begin{bmatrix}n-1\\m\end{bmatrix}_q +q^{n-1+\binom{m-1}{2}} \begin{bmatrix}n-1\\m-1\end{bmatrix}_q. \]

利用

\[n-1+\binom{m-1}{2}=\binom m2+n-m, \]

提出 \(q^{\binom m2}\),括号内由 \(q\)-Pascal 恒等式化为 \(\begin{bmatrix}n\\m\end{bmatrix}_q\)


带权子集的组合意义

\(U=\{1,2,\ldots,n\}\)。对于 \(m\) 元子集 \(S\subseteq U\)\(x\in S\),定义

\[c_x=\sum_{i=1}^{x-1}[i\notin S]. \]

\[\boxed{ \begin{bmatrix}n\\m\end{bmatrix}_q =\sum_{\substack{S\subseteq U\\|S|=m}} \prod_{x\in S}q^{c_x} }. \]

证明

\(S=\{s_1<\cdots<s_m\}\)。在 \(s_j\) 前共有 \(s_j-1\) 个元素,其中 \(j-1\) 个被选,故

\[c_{s_j}=s_j-j. \]

展开 \(q\)-二项式定理左侧。子集 \(S\)\(x^m\) 系数的贡献为

\[q^{\sum_{j=1}^m(s_j-1)} =q^{\binom m2+\sum_{j=1}^m(s_j-j)} =q^{\binom m2}\prod_{x\in S}q^{c_x}. \]

因此

\[[x^m]\prod_{i=0}^{n-1}(1+q^ix) =q^{\binom m2} \sum_{\substack{S\subseteq U\\|S|=m}}\prod_{x\in S}q^{c_x}. \]

与已证的 \(q\)-二项式定理比较 \(x^m\) 的系数并约去 \(q^{\binom m2}\)


进一步的恒等式

\(q\)-上指标求和

\[\boxed{ \begin{bmatrix}n+1\\m+1\end{bmatrix}_q =\sum_{i=m}^nq^{i-m}\begin{bmatrix}i\\m\end{bmatrix}_q }. \]

证明

由第一种 \(q\)-Pascal 恒等式,

\[q^{i-m}\begin{bmatrix}i\\m\end{bmatrix}_q =\begin{bmatrix}i+1\\m+1\end{bmatrix}_q -\begin{bmatrix}i\\m+1\end{bmatrix}_q. \]

\(i=m\)\(n\) 求和后首尾相消,剩下

\[\begin{bmatrix}n+1\\m+1\end{bmatrix}_q -\begin{bmatrix}m\\m+1\end{bmatrix}_q =\begin{bmatrix}n+1\\m+1\end{bmatrix}_q. \]

\(q\)-Vandermonde 卷积

\[\boxed{ \begin{bmatrix}n+m\\k\end{bmatrix}_q =\sum_{i=0}^k q^{(n-i)(k-i)} \begin{bmatrix}n\\i\end{bmatrix}_q \begin{bmatrix}m\\k-i\end{bmatrix}_q }. \]

证明

\(\{1,\ldots,n+m\}\) 分成前 \(n\) 个和后 \(m\) 个元素,枚举前一段选了 \(i\) 个元素。两段内部的权值分别为

\[\begin{bmatrix}n\\i\end{bmatrix}_q,\qquad \begin{bmatrix}m\\k-i\end{bmatrix}_q. \]

前段有 \(n-i\) 个未选元素,后段有 \(k-i\) 个已选元素,跨段产生 \((n-i)(k-i)\) 个“未选在前、已选在后”的二元组,故额外权值为 \(q^{(n-i)(k-i)}\)


倒数型生成函数

\[\boxed{ \prod_{i=0}^{d}\frac1{1-q^ix} =\sum_{r\ge0}\begin{bmatrix}r+d\\d\end{bmatrix}_qx^r }. \]

证明

设左边 \(x^r\) 的系数为 \(f(d,r)\)。由

\[(1-q^dx)F_d(x)=F_{d-1}(x) \]

得到

\[f(d,r)=f(d-1,r)+q^df(d,r-1). \]

而第二种 \(q\)-Pascal 恒等式给出

\[\begin{bmatrix}r+d\\d\end{bmatrix}_q =\begin{bmatrix}r+d-1\\d-1\end{bmatrix}_q +q^d\begin{bmatrix}r+d-1\\d\end{bmatrix}_q. \]

两者递推与初值 \(f(d,0)=1\) 相同。


有限域中的组合意义

\(q\) 是素数幂时,

\[\boxed{ \begin{bmatrix}n\\m\end{bmatrix}_q =\mathbb F_q^n\text{ 中 }m\text{ 维子空间的数量} }. \]

证明

\(\mathbb F_q^n\) 中有序选择 \(m\) 个线性无关向量,方案数为

\[\prod_{i=0}^{m-1}(q^n-q^i). \]

一个固定的 \(m\) 维子空间有

\[\prod_{i=0}^{m-1}(q^m-q^i) \]

组有序基。因此子空间数为

\[\frac{\prod_{i=0}^{m-1}(q^n-q^i)} {\prod_{i=0}^{m-1}(q^m-q^i)} =\begin{bmatrix}n\\m\end{bmatrix}_q. \]


CF1603F October 18, 2017

把每个 \(k\) 位二进制数视为 \(\mathbb F_2^k\) 中的向量,异或即向量加法。

\(x=0\)

此时要求 \(a_1,\ldots,a_n\) 线性无关,答案为

\[\boxed{ \prod_{i=1}^n(2^k-2^{i-1}) }. \]

证明

选第 \(i\) 个向量时,前 \(i-1\) 个向量张成的空间有 \(2^{i-1}\) 个元素,因此有 \(2^k-2^{i-1}\) 种合法选择。若 \(n>k\),乘积中出现零因子。

\(x\ne0\)

枚举序列的线性基大小 \(r\)。答案为

\[\boxed{ \sum_{r=0}^{\min(n,k-1)} \begin{bmatrix}n\\r\end{bmatrix}_2 \prod_{i=1}^r(2^k-2^i) }. \]

为什么所有非零 $x$ 等价

任意两个非零向量 \(x,y\) 都可分别扩充成一组基。将第一组基逐个映射到第二组基,得到可逆线性变换 \(T\),满足 \(T(x)=y\)

对序列中每个向量同时施加 \(T\)。由于 \(T\) 可逆且线性,

\[\bigoplus_{i\in S}a_i=x \iff \bigoplus_{i\in S}T(a_i)=y. \]

这给出了两类序列间的双射。

第一部分:选择有序线性基

从左到右扫描序列,得到有序基 \(B_1,\ldots,B_r\)。不能异或出 \(x\) 等价于

\[x,B_1,\ldots,B_r \]

线性无关。

选择 \(B_i\) 时,\(x,B_1,\ldots,B_{i-1}\) 张成的空间大小为 \(2^i\),所以 \(B_i\)\(2^k-2^i\) 种选择。总数为

\[\prod_{i=1}^r(2^k-2^i). \]

第二部分:由固定有序基生成序列

设第 \(i\) 个基向量出现后、下一个基向量出现前有 \(j_i\) 个非基向量,其中

\[j_0+\cdots+j_r=n-r. \]

\(j_i\) 个向量必须在前 \(i\) 个基向量张成的空间中,每个有 \(2^i\) 种选择。因此总数为

\[\begin{aligned} [z^{n-r}] \prod_{i=0}^r\sum_{j\ge0}2^{ij}z^j &=[z^{n-r}]\prod_{i=0}^r\frac1{1-2^iz}\\ &=\begin{bmatrix}n\\r\end{bmatrix}_2. \end{aligned} \]

也可使用带权子集解释:选中位置是基向量,每一对“基向量在前、非基向量在后”贡献一个因子 \(2\);反转 \(01\) 串后即为 \(q\)-组合数的权值。

记第 \(r\) 项为

\[F_r=\begin{bmatrix}n\\r\end{bmatrix}_2 \prod_{i=1}^r(2^k-2^i). \]

\[F_0=1,\qquad F_r=F_{r-1} \frac{2^{n-r+1}-1}{2^r-1}(2^k-2^r). \]

因此可以在 \(O(\min(n,k))\) 时间内计算。


ARC139F Many Xor Optimization Problems

ARC139F Many Xor Optimization Problems

题目链接

给定长度为 \(n\)、值域为 \([0,2^m)\) 的序列。对每个序列,求其所有子序列异或和的最大值,再对所有序列求和。

把每个数看成 \(\mathbb F_2^m\) 中的向量。一个序列能得到的所有子序列异或和,恰好是这些向量张成的线性空间。因此可以枚举空间的维数 \(k\),再枚举其行最简线性基的主元位

\[0\le a_1<a_2<\cdots<a_k<m. \]

固定一个 \(k\) 维空间后,原序列张成该空间,等价于它在任意一组基下的坐标矩阵满秩。转置后依次选择 \(k\) 个线性无关的 \(n\) 维列向量,方案数为

\[R_k=\prod_{i=0}^{k-1}(2^n-2^i). \]

固定主元位 \(a_1,\ldots,a_k\)。第 \(i\) 个基向量在低于 \(a_i\) 的位置中,除去前 \(i-1\) 个主元位,其余位均可任取,因此具有 \(2^{a_i-(i-1)}\) 种填法。对应空间数为

\[\prod_{i=1}^k2^{a_i-(i-1)} =2^{-\binom{k}{2}}\prod_{i=1}^k2^{a_i}. \]

空间中的最大值是全部基向量的异或。所有主元位一定为 \(1\);其余不高于 \(a_k\) 的位,在所有合法填法中各有一半为 \(1\),故最大值之和除以空间数,即其平均值为

\[\frac12\left(2^{a_k+1}-1+\sum_{i=1}^k2^{a_i}\right). \]

于是

\[\mathrm{Ans} =\frac12\sum_{k=1}^{\min(n,m)} R_k\,2^{-\binom{k}{2}} \sum_{0\le a_1<\cdots<a_k<m} \left(2^{a_k+1}-1+\sum_{i=1}^k2^{a_i}\right) \prod_{i=1}^k2^{a_i}. \]

\[C_k=\sum_{0\le a_1<\cdots<a_k<m}\prod_{i=1}^k2^{a_i}. \]

\(q\)-二项式定理,

\[C_k=2^{\binom{k}{2}}\begin{bmatrix}m\\k\end{bmatrix}_2. \]

对于含 \(\sum 2^{a_i}\) 的部分,先从所有 \(2^0+\cdots+2^{m-1}=2^m-1\) 中任选一位,再减去所选位不在 \(\{a_1,\ldots,a_k\}\) 中的情况。后一种情况等价于先选出 \(k+1\) 个位置,再指定其中一个不是主元位,因此

\[\begin{aligned} &\sum_{0\le a_1<\cdots<a_k<m} \left(\sum_{i=1}^k2^{a_i}\right)\prod_{i=1}^k2^{a_i}\\ &\qquad=(2^m-1)C_k-(k+1)C_{k+1}\\ &\qquad=2^{\binom{k}{2}} \left( (2^m-1)\begin{bmatrix}m\\k\end{bmatrix}_2 -(k+1)2^k\begin{bmatrix}m\\k+1\end{bmatrix}_2 \right). \end{aligned} \]

最后处理最高主元位:

\[\begin{aligned} &\sum_{0\le a_1<\cdots<a_k<m} 2^{a_k+1}\prod_{i=1}^k2^{a_i}\\ &\qquad=2^{\binom{k-1}{2}+1} \sum_{j=k-1}^{m-1}2^{2j} \begin{bmatrix}j\\k-1\end{bmatrix}_2. \end{aligned} \]

利用吸收恒等式

\[(2^{j+1}-1)\begin{bmatrix}j\\k-1\end{bmatrix}_2 =(2^k-1)\begin{bmatrix}j+1\\k\end{bmatrix}_2 \]

和上指标求和

\[\sum_{j=r}^{s}2^{j-r}\begin{bmatrix}j\\r\end{bmatrix}_2 =\begin{bmatrix}s+1\\r+1\end{bmatrix}_2, \]

直接化简:

\[\begin{aligned} &\sum_{j=k-1}^{m-1}2^{2j} \begin{bmatrix}j\\k-1\end{bmatrix}_2\\ &=\sum_{j=k-1}^{m-1} \left(2^{j-1}(2^{j+1}-1)+2^{j-1}\right) \begin{bmatrix}j\\k-1\end{bmatrix}_2\\ &=(2^{2k-2}-2^{k-2}) \begin{bmatrix}m+1\\k+1\end{bmatrix}_2 +2^{k-2}\begin{bmatrix}m\\k\end{bmatrix}_2. \end{aligned} \]

所以

\[\begin{aligned} &\sum_{0\le a_1<\cdots<a_k<m} 2^{a_k+1}\prod_{i=1}^k2^{a_i}\\ &=2^{\binom{k}{2}} \left( (2^k-1)\begin{bmatrix}m+1\\k+1\end{bmatrix}_2 +\begin{bmatrix}m\\k\end{bmatrix}_2 \right)\\ &=2^{\binom{k}{2}} \left( (2^m-2^{m-k}+1)\begin{bmatrix}m\\k\end{bmatrix}_2 +(2^k-1)\begin{bmatrix}m\\k+1\end{bmatrix}_2 \right). \end{aligned} \]

将三部分代回,\(2^{\binom{k}{2}}\) 与外面的 \(2^{-\binom{k}{2}}\) 抵消,得到

\[\boxed{ \mathrm{Ans} =\frac12\sum_{k=1}^{\min(n,m)} \left(\prod_{i=0}^{k-1}(2^n-2^i)\right) \left( (2^{m+1}-2^{m-k}-1)\begin{bmatrix}m\\k\end{bmatrix}_2 -(k2^k+1)\begin{bmatrix}m\\k+1\end{bmatrix}_2 \right) }. \]

预处理

\[F_i=\prod_{j=1}^i(2^j-1), \qquad \begin{bmatrix}m\\k\end{bmatrix}_2 =\frac{F_m}{F_kF_{m-k}}, \]

即可在 \(\mathcal O(n+m)\) 时间、\(\mathcal O(m)\) 空间内计算。

posted @ 2026-07-30 19:04  Larunatrecy  阅读(46)  评论(0)    收藏  举报