当前位置:网站首页>求组合数 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;
}
原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
边栏推荐
- Ansible
- Use of parsel
- What changes will metauniverse bring to the music industry in the trillion market?
- 涌现与形态的局部差异和整体差异
- 最长上升子序列模型 AcWing 272. 最长公共上升子序列
- Miscellaneous records of Finance
- 11 wrong set
- Research on synaesthesia integration and its challenges
- 最长上升子序列模型 AcWing 482. 合唱队形
- A verification test of the relationship between iteration number and entropy
猜你喜欢

Shock simulation of engine mounting system transient modal dynamic analysis and response spectrum analysis

迭代次数和熵之间关系的一个验证试验

熵与形态的非递进现象

BeautifulSoup的使用

Asustek unparalleled, this may be the best affordable high brush thin notebook on the screen

An article reveals the NFT strategy of traditional game manufacturers such as Ubisoft

SQL Server2000 database error

图片中非0值的数量对分类的影响

Kangaroo cloud stack based on CBO in spark SQL optimization

黑白像素分布对迭代次数的影响
随机推荐
Description and feelings
最长上升子序列模型 AcWing 482. 合唱队形
最长上升子序列模型 AcWing 1014. 登山
properties文件
Remember not to copy your group work, students. Fortunately, you only passed two questions. Don't have an accident
Openatom openharmony sub forum, see you today at 14:00! Wonderful release of memorabilia attached
Where is the big data open source project, one-stop fully automated full life cycle operation and maintenance steward Chengying (background)?
[FPGA tutorial case 40] communication case 10 -- Verilog implementation of a simple OFDM system based on FPGA
最长上升子序列模型 AcWing 1017. 怪盗基德的滑翔翼
8 find subsequences with a maximum length of K
Cancer DDD
Redis+caffeine two-level cache enables smooth access speed
349 sum of intersection of two arrays and 01
Asustek unparalleled, this may be the best affordable high brush thin notebook on the screen
博弈论 AcWing 894. 拆分-Nim游戏
Students, don't copy all my code, remember to change it, or we both want G
Wilderness search --- search iterations
如何创建一个带诊断工具的.NET镜像
IO流_字符流、IO流小结、IO流案例总结
Verilog implementation of ECG signal acquisition, storage and transmission system based on FPGA