容斥 + $dp$ .
- 要求有重复元素的错排方案数.
- 设 $f(i,j)$ 表示考虑前 $i$ 种糖,钦定 $j$ 个人拿到原来的糖,其他 $(n-j)$ 个人乱拿的方案数.
- $cnt_x$ 表示第 $x$ 种糖的数目.
- 枚举第 $i$ 种糖被 $k$ 个原来的人拿到,有 $f(i,j)=\sum_{k\leq j,k\leq cnt_i} f(i-1,j-k)\times {cnt_i \choose k}\times [(cnt_i-k)!]^{-1}$ .
- 最终答案为 $ans=\sum_{i=0}^n (-1)^i \times f(n,i) \times (n-i)!$ .
1 |
|