题目 | 蒋贤蒙 | 王赵安 | 王智彪 |
---|---|---|---|
A | 0 | 0 | 0 |
B | 2 | 0 | 2 |
C | 2 | 0 | 1 |
D | 0 | 0 | 0 |
E | 2 | 0 | 1 |
F | 2 | 0 | 2 |
G | 0 | 0 | 0 |
H | 0 | 0 | 0 |
I | 2 | 0 | 2 |
J | 2 | 0 | 2 |
给定 $n,k,D$,求
$$ \sum_{\sum a_i=D,a_i\ge 0}\frac {D!}{\prod_{i=1}^n (a_i+k)} $$
不妨设 $b_i=a_i+k$
$$ \sum_{\sum a_i=D,a_i\ge 0}\frac {D!}{\prod_{i=1}^n (a_i+k)}=\frac {D!}{(D+nk)!}\sum_{\sum b_i=D+nk,b_i\ge k}\frac {(D+nk)!}{\prod_{i=1}^n b_i} $$
不难发现,式子右半部分的组合意义是由元素 $1\sim n$ 构成的长度为 $D+nk$ 的排列个数,其中每个元素出现次数不小于 $k$。
不妨考虑容斥,设 $\text{dp}(i,j)$ 表示由元素 $1\sim i$ 构成的长度为 $j$ 的排列个数,其中每个元素出现次数小于 $k$,不难得到状态转移
$$ \text{dp}(i,j)=\sum_{v=0}^{\min(j,k)}{j\choose v}\text{dp}(i-1,j-v) $$
同时有公式 $n$ 种元素出现次数无限制时构成的长度为 $k$ 的排列个数为 $n^k$,于是有
$$ \sum_{\sum b_i=D+nk,b_i\ge k}\frac {(D+nk)!}{\prod_{i=1}^n b_i}=\sum_{i=0}^n (-1)^n\sum_{j=0}^{ik}{D+nk\choose j}\text{dp}(i,j)(n-i)^{D+nk-j} $$
总时间复杂度 $O\left(n^2k^2\right)$。