随笔 - 530  文章 - 0  评论 - 3  阅读 - 10098 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const int N =1e5+4;
 int fac[N] ,fm[N];
     
inline int kpow(int a, int b) {
    int res = 1;
    for (; b; b >>= 1) {
        if (b & 1)
            res = res * a % mod;
        a = a * a % mod;
    }
    return res;
}
 
 void getInv() {
    fac[0]= fm[0] = 1;
    for (int i = 1; i <= 10000; ++i) {
        fac[i] = fac[i - 1] * i % mod;
        fm[i] = kpow(fac[i], mod - 2);
    }
}
 inline int C(int n, int m) {
    if (n < 0 || m < 0 || n < m) return 0;
    return fac[n] * fm[m] % mod * fm[n - m] % mod;
}

 

posted on   towboat  阅读(284)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示