1.各种数:
全排列:P(n,n)=n! 部分排列:P(n,m)=n!/(n-m)!
组合数:公式:C(n,m)=n!/(m!*(n-m)!) 递推式 :C(n,m)=C(n-1,m)+C(n-1,m-1)
性质:C(n,m)=C(n,n-m)
Lucas定理:C(n,m)%p=C(n/p,m/p)*C(n%p,m%p)%p
#define long long LL //farc[i]表示i! LL C(LL n,LL m,LL p){ if(n<m)return 0; return farc[n]*fpow(farc[m],p-2,p)%p*fpow(farc[n-m],p-2,p)%p; } LL Lucas(LL n,LL m,LL p){ if(n<m)return 0; if(!n)return 1; return Lucas(n/p,m/p,p)*C(n%p,m%p,p)%p; }
应用: 二项式定理: