先给一份洛谷模板题的代码

ll qpow(ll a,ll b)
{
    ll ans=1;
    while(b)
    {
        if(b&1)ans=(ans*a)%mod;
        a=(a*a)%mod;
        b>>=1;
    }
    return ans;
}
ll getc(ll a,ll b)
{
	if(a<b)return 0;
	if(b>a-b)b=a-b;
	ll s1=1,s2=1;
	for(ll i=0;i<b;i++)
	{
		s1=s1*(a-i)%mod;
		s2=s2*(i+1)%mod;
	}
	return s1*qpow(s2,mod-2)%mod;
}
ll lucas(ll n,ll k)
{
    if(k==0)return 1;
    return getc(n%mod,k%mod)*lucas(n/mod,k/mod)%mod;
}

相关文章:

  • 2021-11-18
  • 2021-04-18
  • 2021-08-12
  • 2021-08-28
猜你喜欢
  • 2022-12-23
  • 2021-08-21
  • 2021-09-18
  • 2020-01-21
相关资源
相似解决方案