博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
组合数的求法 (n<=1e8 可以过来看)
阅读量:4706 次
发布时间:2019-06-10

本文共 724 字,大约阅读时间需要 2 分钟。

C(n,m) =n!/(m!* (n-m)!  );

o(n) 求 1-m的逆元 

o(n) 求 n的阶乘

代码实现  

https://www.cnblogs.com/linyujun/p/5194189.html

#include
const int N = 200000 + 5;const int MOD = (int)1e9 + 7;int F[N], Finv[N], inv[N];//F是阶乘,Finv是逆元的阶乘 void init(){ inv[1] = 1; for(int i = 2; i < N; i ++){ inv[i] = (MOD - MOD / i) * 1ll * inv[MOD % i] % MOD; } F[0] = Finv[0] = 1; for(int i = 1; i < N; i ++){ F[i] = F[i-1] * 1ll * i % MOD; Finv[i] = Finv[i-1] * 1ll * inv[i] % MOD; }}int comb(int n, int m){
//comb(n, m)就是C(n, m) if(m < 0 || m > n) return 0; return F[n] * 1ll * Finv[n - m] % MOD * Finv[m] % MOD;}int main(){ init();}

 

转载于:https://www.cnblogs.com/Andromeda-Galaxy/p/9882649.html

你可能感兴趣的文章
2012/11/14第一次真正加入博客园
查看>>
laravel页面间的传值
查看>>
SoapUI登录测试(2)-- 断言
查看>>
ORM是什么?
查看>>
冒泡排序---程序员必经之路
查看>>
jenkins构建执行shell 所有命令出现command not found
查看>>
Nginx的HTTPS 301重定向到另一个TLD(托管在同一服务器上)没有显示出SSL警告
查看>>
RUBY 模拟rtsp消息
查看>>
spring与axis2整合发布webservice
查看>>
A - Financial Management(1.1.1)
查看>>
先注册,再登录(简易版)
查看>>
Java多线程通讯---------wait,notify区别
查看>>
spring.xml配置
查看>>
P1855 榨取kkksc03
查看>>
.net转java 学习笔记 (一) java环境安装和配置
查看>>
浅谈window.attachEvent
查看>>
聚类算法——KMEANS算法
查看>>
【Java】 Thinking in Java 2-11 练习10
查看>>
26. Remove Duplicates from Sorted Array
查看>>
JavaScript要点(十二) HTML DOM 事件
查看>>