1、题意:求 C(n,m) % 10007 ,10007是质数咯 n和m < 2000000000

2、分析:这个东西太大了,显然不能用n!的阶乘预处理的方式搞出来,也不能用递推公式搞出来

于是我们直接lucas定理  C(n,m) % MOD = C(n / MOD, m / MOD) * C(n % MOD, m % MOD)  % MOD

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;
#define M 10010
#define MOD 10007

inline int read(){
    char ch = getchar(); int x = 0, f = 1;
    while(ch < '0' || ch > '9'){
        if(ch == '-') f = -1;
        ch = getchar();
    }
    while('0' <= ch && ch <= '9'){
        x = x * 10 + ch - '0';
        ch = getchar();
    }
    return x * f;
}

int fac[M], inv[M];

inline void init(){
    fac[0] = 1;
    for(int i = 1; i < MOD; i ++) fac[i] = fac[i - 1] * i % MOD;
    inv[1] = 1;
    for(int i = 2; i < MOD; i ++) inv[i] = (MOD - MOD / i) * inv[MOD % i] % MOD;
    inv[0] = 1;
    for(int i = 1; i < MOD; i ++) inv[i] = inv[i] * inv[i - 1] % MOD;
}

inline int C(int n, int m){
    if(n < m){
        return 0;
    }
    if(n < MOD && m < MOD){
        return fac[n] * inv[m] % MOD * inv[n - m] % MOD;
    }
    return C(n / MOD, m / MOD) * C(n % MOD, m % MOD) % MOD;
}

int main(){
    int T = read();
    init();
    while(T --){
        int n = read(), m = read();
        printf("%d\n", C(n, m));
    }
    return 0;
}

最新文章

  1. JsonUtil
  2. Entity Framework 实体框架的形成之旅--利用Unity对象依赖注入优化实体框架(2)
  3. span 与p 的区别,以及内联元素的作用
  4. (转)ASP.NET并发处理
  5. spring中@param和mybatis中@param使用区别
  6. SoapUI 之 JDBC请求
  7. 前端MVC Vue2学习总结(五)——表单输入绑定、组件
  8. RabbitMQ系列(二)深入了解RabbitMQ工作原理及简单使用
  9. VB.NET获取系统特殊目录
  10. excel vba获取拼音
  11. 详细解说Tomcat 设置虚拟路径的几种方法及为什么设置虚拟路径
  12. 【Alsa】播放声音和录音详细流程
  13. redis主从配置&lt;转&gt;
  14. VMware快照的工作原理
  15. 学些goosman-lei的博客感触
  16. pygame系列_箭刺Elephant游戏_源码下载
  17. 【linux】linux DD命令
  18. [转载]Javassist 使用指南(一)
  19. [Linux]Ubuntu中的System Setting
  20. ng-file-upload - samples

热门文章

  1. 一段拼装sql的小代码
  2. Log4j
  3. Selenium-java-TestNg-的运行
  4. 快速掌握iOS API的一个小技巧
  5. Mac--10.8.3下使用apache2方法
  6. 解决ppt中视频不能播放的问题
  7. Spring源码分析——BeanFactory体系之接口详细分析
  8. 兼容firefox的 keyCode
  9. elasticsearch suggest 的几种使用-completion 的基本 使用
  10. 如何在个人博客引擎 Hexo 中添加 Swiftype 搜索组件