Loading

绝对伏特加

绝对伏特加

题目:有 \(n\) 个等概率在 \([1,K]\) 中生成的数,设 \(a_i\) 表示 \(i\) 出现的次数,求 \(E(\prod_{i=1}^La_i^F)\bmod 2003\)

\(n,k\le 10^9,F\le 10^3,F\times L\le 5\times 10^4,L\le K\)


先看 \(F=1\) 的情况

第一步:拆分01变量贡献

\(x_{i,j}\) 表示第 \(i\) 个位置是否是 \(j\) 则原式等于:

\[\begin{aligned} E&=E(\prod_{i=1}^L\sum_{j=1}^nx_{j,i})\\ &=\frac 1{K^L}\prod_{i=1}^L\sum_{j=1}^nx_{j,i}&&\color{red}\because \forall x_{i,j},P(x_{i,j}=1)=\frac 1K\\ &=\frac 1{K^L}\sum_{p}\prod_{i=1}^Lx_{i,p_i}&&\color{red}把组合数拆开\\ \end{aligned} \]

第二步考虑组合意义

其组合意义为为在 \(n\) 个位置中给 \(L\) 个数分配不同位置的方案数:

\[\frac 1{K^L}{K\choose L}L! \]

\(F>1\) 的情况:

类比 \(F=1\) 的情况,考虑 \(\prod_{i=1}^L(\sum_{j=1}^nx_{j,i})^F\),发现其组合意义为:对于相同的数可以选择相同的位置,对于不同的数则不能选择相同的位置,最后的概率应该为 \(\frac 1{K^t}\),其中 \(t\) 是不同的位置的个数。

第三步相对DP

我们单独对于每个数来看,设 \(g_{i,j}\) 表示选了 \(i\) 个,其中有 \(j\) 个不同的方案数,先考虑内部的位置不同关系,而不考虑具体分配到那些位置。

我们用相同的数表示分配相同的位置,用不同的数表示选择不同的位置,比如1 2 1 3表示 第 \(1\) 个与第 \(3\) 个的位置相同,即 \(x_{1,1}=x_{1,3}\ne x_{1,2}\ne x_{1,4}\)

现在考虑新加一个数,如果是一个新的数,那么就是一种方案,如果是与之前存在的一个数相同,则要考虑与那些数相同,所以有转移式:

\[g_{i,j}=g_{i-1,j-1}+g_{i-1,j}\times j \]

边界条件为 \(g_{1,1}=1\),发现这与第二类斯特林数是一样的。

第四步生成函数

为了将各种数结合在一起,使用生成函数,并最后考虑分配:

\[\begin{aligned} &F(x)=\sum_{i=1}^x {F\brace i}x^i\\ &ans=\sum_{t=1}^{F\times L} \frac 1{K^t}{n\choose t}t![x^t]F^L(x) \end{aligned} \]

第五步FFT观察模数

发现 \(t\ge mod=2003\) 就不用处理了,用快速幂复杂度 \(\mathcal O(F^2+MOD^2\log L)\)

posted @ 2025-01-20 09:53  lupengheyyds  阅读(19)  评论(0)    收藏  举报