容斥:有限元素多重集合

容斥:有限元素多重集合

这里主要是补一下之前的留的坑。


​ 令 {t1⋅a1,t2⋅a2,...,tn⋅ant_1 \cdot a_1,t_2 \cdot a_2,...,t_n \cdot a_n} 为原集合,求其中的 rr 组合。

​ 考虑对于满足 ti≥rt_i \geq r 时,ti⋅ait_i \cdot a_i 与 r⋅air \cdot a_i 在计数中并无区别。

​ 将集合中的所有元素中满足 ti≥rt_i \geq r 的 tit_i 皆替换为 rr。

​ 故使集合变为 {t1⋅a1,t2⋅a2,...,tn⋅ant_1 \cdot a_1,t_2 \cdot a_2,...,t_n \cdot a_n},(ti≥r)(t_i \geq r)。

​ 再考虑容斥原理,令 AiA_i 表示为对于无限元素的多重集合中 aia_i 出现过 tit_i 次以上的 rr 组合。令 SS 为无限元素的多重集合的 rr 组合方案数,则原集合的 rr 组合方案数为:

∣S∣−∑i∣Ai∣+∑i,j∣Ai∩Aj∣−∑i,j,k∣Ai∩Aj∩Ak∣+⋯|S| - \sum_{i}{|A_i|} + \sum_{i,j}{|A_i \cap A_j|} - \sum_{i,j,k}{|A_i \cap A_j \cap A_k|} + \cdots

​ 由《多重集合的排列组合》一章中我们可知,对于无限元素多重集合的方案数为:(r+k−1k−1)\binom{r+k-1}{k-1}。

​ 此时我们再对于 AiA_i 的方案数进行讨论,可视为对于 rr 组合中已确定选取 ti+1t_i+1 个 aia_i 后,再从原集合中继续选取剩余的 k−ti−1k-t_i-1 个数,故得:

(r+k−ti−2k−ti−2)=(r+k−ti−2r)\binom{r+k-t_i-2}{k-t_i-2} = \binom{r+k-t_i-2}{r}

​ 一般直接考虑枚举集合来确定方案数。

​ 蒟蒻不会如何进一步转化,如果有大佬明白请教教我/kel