Cnk 组合数模版

第一种
ll mod = 1e9+7;
ll MAXN = 1000005;
ll jiecheng[1000005];

void init(){
    jiecheng[0]=1;
    jiecheng[1]=1;
    for (int i=2;i<MAXN;i++) jiecheng[i] = i * jiecheng[i-1] % mod;
}
ll quick(ll x,ll y){
    ll ans=1;
    while(y){
        if(y&1) ans = ans * x % mod;
        x=((x%mod)*(x%mod))%mod;
        y/=2;
    }
    return ans;
}

ll C(ll a, ll b){
    return (jiecheng[a] % mod)*(quick(jiecheng[b] * jiecheng[a-b] % mod,mod-2))%mod;
}
第二种
ll a[2005][2005];
const ll mod = 998244353;
void init()       // Cnk -> n、k、取余是mod
{
    ll sum = 1;
    a[0][0] = 1;
    for(int i = 1 ; i <= 2000 ; i++)
    {
        a[i][0] = 1;
        for(int j = 1; j<=i; j++)  //k从1开始计算,到n-1结束
        {
            a[i][j] = (a[i-1][j] + a[i-1][j-1]) % mod;
        }
    }
}
模版专项 文章被收录于专栏

模版

全部评论

相关推荐

明天不下雨了:让我们大声的说出来:以前的未来就是现在
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
LemontreeN:有的兄弟有的我今天一天面了五场,4个二面一个hr面
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务