当前位置:网站首页>求组合数 AcWing 886. 求组合数 II
求组合数 AcWing 886. 求组合数 II
2022-07-03 08:41: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;
}
原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
边栏推荐
- 单调栈-42. 接雨水
- ES6 promise learning notes
- Gif remove blank frame frame number adjustment
- Unity Editor Extension - event handling
- Deep parsing JVM memory model
- Osgearth topographic shading map drawing
- Unity Editor Extension - Outline
- Redis cluster series 4
- Monotonic stack -503 Next bigger Element II
- [concurrent programming] concurrent tool class of thread
猜你喜欢

JS non Boolean operation - learning notes

Gradle's method of dynamically modifying APK package name

单调栈-84. 柱状图中最大的矩形

Gif remove blank frame frame number adjustment

MySQL three logs

Sending and receiving of request parameters

Mxone Pro adaptive 2.0 film and television template watermelon video theme apple cmsv10 template

Try to reprint an article about CSDN reprint

Dealing with duplicate data in Excel with xlwings

UE4 source code reading_ Bone model and animation system_ Animation process
随机推荐
Unity editor expansion - draw lines
请求参数的发送和接收
100 GIS practical application cases (78) - Multi compliance database design and data warehousing
[redis] redis persistent RDB vs AOF (source code)
Mxone Pro adaptive 2.0 film and television template watermelon video theme apple cmsv10 template
【Rust 笔记】11-实用特型
二进制转十进制,十进制转二进制
Osgearth topographic shading map drawing
DOM 渲染系统(render mount patch)响应式系统
Swagger document configuration
22-06-28 西安 redis(02) 持久化机制、入门使用、事务控制、主从复制机制
Monotonic stack -42 Connect rainwater
Osgearth target selection
单调栈-42. 接雨水
First Servlet
[concurrent programming] working mechanism and type of thread pool
Unity editor expansion - controls, layouts
[public key cryptography] ECC elliptic cryptosystem (implementing ElGamal encryption method)
[concurrent programming] collaboration between threads
MySQL three logs