当前位置:网站首页>求组合数 AcWing 886. 求组合数 II
求组合数 AcWing 886. 求组合数 II
2022-07-27 10:35:00 【T_Y_F666】
求组合数 AcWing 886. 求组合数 II
原题链接
算法标签
组合数学 组合计数 逆元 快速幂 费马小定理
思路
由于(a / b) % p 不等于(a % p) / (b % p),所以直接除以相应的阶乘不行, 需要乘阶乘逆元
代码
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 2005, mod = 1e9+7;
int f[N], fn[N];
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
int qmi(int a, int b, int p){
int ans=1;
while(b){
if(b&1){
ans=(ans*a)%p;
}
a=a*a%p;
b>>=1;
}
return ans;
}
void init(){
f[0]=fn[0]=1;
rep(i, 1, N){
f[i]=f[i-1]*i%mod;
// 求逆元
fn[i]=fn[i-1]*qmi(i, mod-2, mod)%mod;
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n=read();
init();
while(n--){
int a=read(), b=read();
printf("%lld\n", f[a]*fn[b]%mod*fn[a-b]%mod);
}
return 0;
}
原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
边栏推荐
- A measurement method of 5g air interface one-way delay and its reliability
- 十年架构五年生活-07 年轻气盛的蜕变
- ethereum rpc
- IO stream_ Character stream, IO stream summary, IO stream case summary
- IO流_字符流、IO流小结、IO流案例总结
- 洛谷P1441 砝码称重
- 9 UAV array
- 博弈论 AcWing 893. 集合-Nim游戏
- Redis+caffeine two-level cache enables smooth access speed
- 2022牛客多校 (3)J.Journey
猜你喜欢

Redis high availability principle

2022牛客多校 (3)J.Journey

What is the mystery of the gate of the meta universe?

NFT leaderboard -nft real offer latest address: NFT leaderboard.com

黑白像素分布对迭代次数的影响

区间问题 AcWing 906. 区间分组

parsel的使用

Sort th in antd table to prevent hovering color change +table hovering row color change +table header color change

How to create a.Net image with diagnostic tools

49 letter ectopic grouping and 242 effective letter ectopic words
随机推荐
背包模型 AcWing 1024. 装箱问题
Digital triangle model acwing 275. pass note
Compete for the key battle of stock users and help enterprises build a perfect labeling system - 01 live review
黑白像素分布对迭代次数的影响
8 find subsequences with a maximum length of K
学习笔记-uni-app
Derive the detailed expansion of STO double center kinetic energy integral
Real time development platform construction practice, in-depth release of real-time data value - 04 live broadcast review
What is the mystery of the gate of the meta universe?
JVM judges that the object is dead, and practices verify GC recycling
区间问题 AcWing 906. 区间分组
The longest ascending subsequence model acwing 1017. The glider wing of the strange thief Kidd
MySQL installation (RPM package)
Instructions for mock platform
栈 AcWing 3302. 表达式求值
Longest ascending subsequence model acwing 1014. mountaineering
背包模型 AcWing 423. 采药
The open source project Taier version 1.1 was officially released, and the list of new functions is fast
Yonbuilder enables innovation, and the "golden keyboard Award" of the fourth UFIDA developer competition is open!
What is the issuing price of NFT (Interpretation of NFT and establishment of NFT world outlook)