绝对伏特加
绝对伏特加
题目:有 \(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\) 则原式等于:
第二步考虑组合意义
其组合意义为为在 \(n\) 个位置中给 \(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_{1,1}=1\),发现这与第二类斯特林数是一样的。
第四步生成函数
为了将各种数结合在一起,使用生成函数,并最后考虑分配:
第五步FFT观察模数
发现 \(t\ge mod=2003\) 就不用处理了,用快速幂复杂度 \(\mathcal O(F^2+MOD^2\log L)\)

浙公网安备 33010602011771号