对于组合数取模的问题,这里给出几种做法。
Cmn(modp)Cnm(modp)
对于 n, m 较小的时候,可以使用杨辉三角强行解。
当 n, m 较大的时候,且 p 是素数的时候可以用 Lucas定理。
Lucas定理:
若 n=nkpk+nk−1pk−1+...+n1p+n0n=nkpk+nk−1pk−1+...+n1p+n0
且 m=mlpl+ml−1pl−1+...+m1p+
对于组合数取模的问题,这里给出几种做法。
Cmn(modp)Cnm(modp)
对于 n, m 较小的时候,可以使用杨辉三角强行解。
当 n, m 较大的时候,且 p 是素数的时候可以用 Lucas定理。
Lucas定理:
若 n=nkpk+nk−1pk−1+...+n1p+n0n=nkpk+nk−1pk−1+...+n1p+n0
且 m=mlpl+ml−1pl−1+...+m1p+