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位同学代表本班参加比赛,问有多少种组合方 ...
最新文章
- jq 请求本地的json_jQuery使用ajax读取本地json文件的案例
- Java多线程--list.parallelStream().forEach()使用实例
- python怎么让游戏倒计时_Python如何让倒计时效果的在固定区域刷新
- MySQL 常用语法 之 DISTINCT
- 第八十二期:掌握这些监控报警优化技巧,百万年薪不在话下!
- bs cs架构区别_软件架构设计分层模型和构图思考
- Ngnix安装的几种常用方式
- 网页动态加载图片 通过JS和jquery实现。
- 贾跃亭向全体债权人道歉!个人资产曝光:总额14亿美元,国内三套房
- 超越Excel,这才是报表的正确打开方式,可惜90%的人都没用过
- 计算机网络军训口号,霸气押韵的16字军训口号(精选50句)
- 网易云音乐API 安装及部署 全过程【本地跑项目以及远端部署 均详解】
- 全面的软件测试-软件测试图解
- UWB源码资料 研创物联源码资料 可二次开发 dwm1000模块 双边双向测距
- 常用计算机英文缩写,常用计算机英文缩写含义
- Basler相机参数设置
- 烽火计划-2020年夏-期末总结
- 误差反向传播(手把手教你推导如何通过反向传播更新参数)
- VM虚拟机中的centOS7如何安装linux QQ
- Connection terminated as request was larger than XXX