组合数取模、预处理阶乘逆元模板





  
  
  1. LL inv[MAXN];
  2. LL fac[MAXN];
  3. LL Com(int n,int m){
  4.     return fac[n]*inv[m]%mod*inv[n-m]%mod;
  5. }
  6. void init(){
  7.     inv[ 0]=fac[ 0]= 1;
  8.     inv[ 1]= 1;
  9.     for( int i= 1;i<MAXN;i++){
  10.         fac[i]=fac[i -1]*i%mod;
  11.     }
  12.     inv[ 1]= 1;
  13.     for( int i= 2;i<MAXN;i++){
  14.         inv[i]=(LL)(mod-mod/i)*inv[mod%i]%mod;
  15.     }
  16.     inv[ 0]= 1;
  17.     for( int i= 1;i<MAXN;i++){
  18.         inv[i]=inv[i -1]*inv[i]%mod;
  19.     }
  20. }





猜你喜欢

转载自blog.csdn.net/qq_37891604/article/details/81434798
今日推荐