Crazyharp

竖琴


  1. 1. 作用
  2. 2. 代码
  • Home
  • about
  •   

© 2025 Crazyharp

Theme Typography by Makito

Developed byCrazy_Harp

Proudly published with Hexo

卢卡斯定理

Posted at 2024-11-16 ACM 

本文共142字,阅读需要约1分钟

作用

解决组合数的取余问题
也就是算

代码

#include<bits/stdc++.h>
#define N 100010
using namespace std;
typedef long long ll;
ll a[N];
int p;
ll pow(ll y,int z,int p){
    y%=p;ll ans=1;
    for(int i=z;i;i>>=1,y=y*y%p)if(i&1)ans=ans*y%p;
    return ans;
}
ll C(ll n,ll m){
    if(m>n)return 0;
    return ((a[n]*pow(a[m],p-2,p))%p*pow(a[n-m],p-2,p)%p);
}
ll Lucas(ll n,ll m){
    if(!m)return 1;
    return C(n%p,m%p)*Lucas(n/p,m/p)%p;
}
Share 

 Previous post: 快速幂&& 矩阵快速幂 Next post: GCD与exGCD 

© 2025 Crazyharp

Theme Typography by Makito

Developed byCrazy_Harp

Proudly published with Hexo