组合数求法
一. 当n ,m<=2000时 直接结城预处理就好 C[i][j]=C[i-1][j]+f[i-1][j-1];
二.当需要取模是直接预处理阶乘和逆元打个函数求就好且mod足够大
fac[i]=fac[i-1]*i%mod; inv[i]=(mod-mod/i)*inv[mod%i]%mod;
C[n][m]=fac[n]*inv[m]%mod*inv[n-m]%mod;
三. 当n.m >mod时 需要用Lucas
lucas(n,m,mod)=lucas(n%mod,m%mod,mod)*lucas(n/mod,m/mod,mod)%mod;
这时根据情况,个人认为一般要用到lucas的时候一般无法预处理,因为此时n.m足够大,空间装不下,这时候就单个求阶乘和逆元就好
逆元的话用费马小定理或者欧拉定理来求都可以。