浙江广厦大学第七届程序设计比赛 E-始皇一问

34 阅读1分钟

E-始皇一问_浙江广厦大学第七届程序设计比赛 (nowcoder.com)

这道题有个数学公式: C(n+m2)m1C(n+m-2)^{m-1}

组合公式怎么算: 拿C63C6^{3}举例:

image.png

而本题中: image.png

因为分子分母都很大,所以我们需要在过程中%mod,我们就需要把除以分母变为乘分母的逆元

我们先预处理出分子部分((n+m2)!(n+m-2)!):

image.png

然后我们再预处理出分母部分((m1)!(m-1)!),因为m最大为5000,我们直接开到预处理到5000:

因为上面说过了,这里分母我们将其转化为逆元:

image.png

最后就是我们的分子*分母的逆元部分:

image.png