数据范围较大, a,b都是1e5

直接根据公式预处理

 

 1/i就是求i的逆元(逆元求法:mod为质数,逆元就是 i^(mod-2)%mod )

O(N*logN)

import java.util.Scanner;public class Main{static final int N=100005;static final int mod=(int)1e9+7;static long fact[]=new long[N];static long infact[]=new long[N];static long quick_pow(long a,long b){long res=1;while(b>0){if((b&1)==1) res=res*a%mod;a=a*a%mod;b>>=1;}return res%mod;}public static void main(String[] args) {Scanner scan=new Scanner(System.in);fact[0]=infact[0]=1;for(int i=1;i<N;i++){fact[i]=fact[i-1]*i%mod;infact[i]=infact[i-1]*quick_pow(i,mod-2)%mod;}int t=scan.nextInt();while(t-->0){int a=scan.nextInt();int b=scan.nextInt();System.out.println(fact[a]*infact[a-b]%mod*infact[b]%mod);}}
}

886. 求组合数 II(模板)相关推荐

  1. AcWing 886. 求组合数 II(预处理+优化的O(n)版本)

    组合数模板二:O(a*log(mod))(a–组合数下界,mod–模数) 来自数论的常识 与组合数I不同的是,上一题是预处理所有c[a][b]的值,这一题是预处理中间的一步 由 那么 (b!)^(−1 ...

  2. 数学知识—不同数据范围求组合数,例题、思路、代码实现

    求组合数1: 题目链接:885. 求组合数 I - AcWing题库 题面: 第一行包含整数 n. 接下来 n 行,每行包含一组 a 和 b. 1<=n<=10000 1<=b< ...

  3. 算法刷题-数论-组合数、快速幂、逆元、递推求组合数、逆元求组合数

    文章目录 acwing885. 求组合数 I(递推:数据范围:2000) acwing875. 快速幂(a的k次方 模 b) acwing876. 快速幂求逆元 acwing886. 求组合数 II( ...

  4. [AcWing]885. 求组合数 I(C++实现)求组合数模板题

    [AcWing]885. 求组合数 I(C++实现)求组合数第一种题型模板题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6 ...

  5. 算法 - 数学 - 组合数 - 隔板法求组合数

    一.求组合数 二.隔板法 隔板法是組合數學的方法,用來處理n個無差別的球放進k個不同的盒子的問題.可一般化為求不定方程的解數,並利用母函數解決問題. 隔板法與插空法的原理一樣. 应用隔板法必须满足3个 ...

  6. Codeforces Round #361 (Div. 2) E. Mike and Geometry Problem 【逆元求组合数 离散化】

    任意门:http://codeforces.com/contest/689/problem/E E. Mike and Geometry Problem time limit per test 3 s ...

  7. 数学--数论--HDU 4675 GCD of Sequence(莫比乌斯反演+卢卡斯定理求组合数+乘法逆元+快速幂取模)

    先放知识点: 莫比乌斯反演 卢卡斯定理求组合数 乘法逆元 快速幂取模 GCD of Sequence Alice is playing a game with Bob. Alice shows N i ...

  8. 1100: 求组合数(函数专题)

    1100: 求组合数(函数专题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 6264 解决: 4653 [提交] [状态] [讨论版] [命题人:admin] 题目描述 马上要举办新生 ...

  9. ZZULIOJ 1100: 求组合数(函数专题)

    求组合数(函数专题) 题目描述 马上要举办新生程序设计竞赛了,与以往不同的是,本次比赛以班为单位,为了全面衡量一个班级的整体水平,要求从一个班的m位同学中任选k位同学代表本班参加比赛,问有多少种组合方 ...

最新文章

  1. 单线程和多线程的优缺点(转)
  2. 解决Cannot resolve method ‘createDataSource‘ in ‘DruidDataSourceFactor
  3. 自动化测试有缺点吗?
  4. 卸载后清理干净_想要清理你的Mac?选这几款软件就对了
  5. 李飞飞的斯坦福 HAI 招人了,薪资丰厚科研经费管够
  6. Android 控件 - TextView
  7. android 开启线程关闭对话框,java – 从后台线程的PopUp对话框Android
  8. python函数做n_【python】定义函数、参数、递归(n!)
  9. 二叉树+链表+字符串+栈和队列高频面试题合集
  10. 【转】Asp.Net TreeView with CheckBox
  11. 代理模式的原理解析入门
  12. c++ 显示三维散点图_Matplotlib中的三维绘图
  13. 上传身份证照片js_小程序上传身份证图片的实现方法
  14. 练习题︱豆瓣图书的推荐与搜索、简易版知识引擎构建(neo4j)
  15. USF MSDS501 计算数据科学中文讲义 2.4 Python 中的编程模式
  16. 软件测试V模型和W模型的区别
  17. SSO单点登录教程案例 客户端和服务端
  18. C语言中的有符号数和无符号数之间转换
  19. adb shell am broadcast 发送广播
  20. 圆形标定板_一种圆阵列标定板特征点提取方法与流程

热门文章

  1. Shell编程:awk使用总结
  2. 如何用Pygame写游戏(十)
  3. 【OpenCV】入门学习资料汇总
  4. 【Python AsciiArt】利用命令行打印出字符图案
  5. 默写测试晋级流程 1126
  6. 演练 多班分数录入统计优秀人数
  7. boootstap-面包屑-下拉菜单
  8. 重写慢日志解析程序,实现打印慢SQL信息及其所属数据库
  9. 为 Node.js 开发者准备的 8 本免费在线电子书(转)
  10. Python re 库的正确使用姿势