组合数模板

证明过程可参考此篇博客https://www.cnblogs.com/liziran/p/6804803.html

Code:

ll f[Max];
ll qpow(ll a, ll b) {
   
	ll ans = 1, base = a;
	while (b) {
   
		if (b & 1) ans = ans * base % Mod;
		base = base * base % Mod;
		b >>= 1;
	}
	return ans;
}
void init() {
   
	f[0] = 1;
	for (int i = 1;i <= 2e5;i++) {
   
		f[i] = f[i - 1] * i % Mod;
	}
}
ll cal(ll n, ll m) {
   
	if (n < m) return 0;
	return 1ll * f[n] * qpow(f[m], Mod - 2) % Mod * qpow(f[n - m], Mod - 2) % Mod;
}
全部评论

相关推荐

09-29 16:59
已编辑
门头沟学院 Java
牛客96609213...:疯狂背刺,之前还明确设置截止日期,还有笔试,现在一帮人卡在复筛,他反而一边开启扩招,还给扩招的免笔试,真服了,你好歹先把复筛中的给处理了再说
投递大疆等公司10个岗位
点赞 评论 收藏
分享
接好运Plus:定时器项目都被用烂了,感觉
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务