886. 求组合数 II(模板)
数据范围较大, 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(模板)相关推荐
- AcWing 886. 求组合数 II(预处理+优化的O(n)版本)
组合数模板二:O(a*log(mod))(a–组合数下界,mod–模数) 来自数论的常识 与组合数I不同的是,上一题是预处理所有c[a][b]的值,这一题是预处理中间的一步 由 那么 (b!)^(−1 ...
- 数学知识—不同数据范围求组合数,例题、思路、代码实现
求组合数1: 题目链接:885. 求组合数 I - AcWing题库 题面: 第一行包含整数 n. 接下来 n 行,每行包含一组 a 和 b. 1<=n<=10000 1<=b< ...
- 算法刷题-数论-组合数、快速幂、逆元、递推求组合数、逆元求组合数
文章目录 acwing885. 求组合数 I(递推:数据范围:2000) acwing875. 快速幂(a的k次方 模 b) acwing876. 快速幂求逆元 acwing886. 求组合数 II( ...
- [AcWing]885. 求组合数 I(C++实现)求组合数模板题
[AcWing]885. 求组合数 I(C++实现)求组合数第一种题型模板题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6 ...
- 算法 - 数学 - 组合数 - 隔板法求组合数
一.求组合数 二.隔板法 隔板法是組合數學的方法,用來處理n個無差別的球放進k個不同的盒子的問題.可一般化為求不定方程的解數,並利用母函數解決問題. 隔板法與插空法的原理一樣. 应用隔板法必须满足3个 ...
- 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 ...
- 数学--数论--HDU 4675 GCD of Sequence(莫比乌斯反演+卢卡斯定理求组合数+乘法逆元+快速幂取模)
先放知识点: 莫比乌斯反演 卢卡斯定理求组合数 乘法逆元 快速幂取模 GCD of Sequence Alice is playing a game with Bob. Alice shows N i ...
- 1100: 求组合数(函数专题)
1100: 求组合数(函数专题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 6264 解决: 4653 [提交] [状态] [讨论版] [命题人:admin] 题目描述 马上要举办新生 ...
- ZZULIOJ 1100: 求组合数(函数专题)
求组合数(函数专题) 题目描述 马上要举办新生程序设计竞赛了,与以往不同的是,本次比赛以班为单位,为了全面衡量一个班级的整体水平,要求从一个班的m位同学中任选k位同学代表本班参加比赛,问有多少种组合方 ...
最新文章
- 单线程和多线程的优缺点(转)
- 解决Cannot resolve method ‘createDataSource‘ in ‘DruidDataSourceFactor
- 自动化测试有缺点吗?
- 卸载后清理干净_想要清理你的Mac?选这几款软件就对了
- 李飞飞的斯坦福 HAI 招人了,薪资丰厚科研经费管够
- Android 控件 - TextView
- android 开启线程关闭对话框,java – 从后台线程的PopUp对话框Android
- python函数做n_【python】定义函数、参数、递归(n!)
- 二叉树+链表+字符串+栈和队列高频面试题合集
- 【转】Asp.Net TreeView with CheckBox
- 代理模式的原理解析入门
- c++ 显示三维散点图_Matplotlib中的三维绘图
- 上传身份证照片js_小程序上传身份证图片的实现方法
- 练习题︱豆瓣图书的推荐与搜索、简易版知识引擎构建(neo4j)
- USF MSDS501 计算数据科学中文讲义 2.4 Python 中的编程模式
- 软件测试V模型和W模型的区别
- SSO单点登录教程案例 客户端和服务端
- C语言中的有符号数和无符号数之间转换
- adb shell am broadcast 发送广播
- 圆形标定板_一种圆阵列标定板特征点提取方法与流程