我们可以先预处理出1~n的阶乘以及阶乘的逆元;

对于阶乘的逆元,我们可以直接由费马小定理,用快速幂求出;

(吐槽快速幂…………一定要开long long,不然会爆零??)

void Factorial()//阶乘
{f[0] = 1;for(int i = 1;i <= n;i++)f[i] = (i%p*f[i-1]%p)%p;
}void Inverse_element()//阶乘的逆元
{for(int i = 1;i <= n;i++)inv[i] = fast_pow(f[i],p-2);//费马小定理求逆元
}

然后便是数学式子………… LL C(int n,int m){ return f[n] * inv[m] % p * inv[n - m] % p; }

当然,数据比较弱的话,我们可以偷个懒,用个效率稍低的算法…………

LL C(int n,int m)
{if(m < 0 || m > n)return 0;LL re = 1;for(int i = 0;i < m;i++){re = re * (n - i)%p * fast_pow(i+1,p-2)%p;}return re%p;
}

当然,如果数据超级弱(除非出题人是大(nao)佬(can))……(´Д`)

我们可以直接写个杨辉三角,

转载于:https://www.cnblogs.com/syx-799/p/6026550.html

求排列组合数C(n,m) φ(゜▽゜*)♪相关推荐

  1. 用C语言求排列组合数

    用C语言求排列组合数 #include <stdio.h> #include <stdlib.h>double f(int a, int b);//因为排列数可大可小,所以返回 ...

  2. C语言求排列组合和阶乘

    关于C语言求排列数.组合数以及阶乘的实验记录: 一.求排列数和组合数 以下公式中A(n,m)为排列数公式,C(n,m)为组合数公式. Cnm=n!m!(n−m)!=Anmm!=Cn−1m+Cn−1m− ...

  3. [算法] 求排列组合: 从n个数中任选m个数组成一个新数

    #include <iostream> #include <vector>using namespace std;// 求排列组合算法: C(n, m): 从n个数中任选m个数 ...

  4. 信息学奥赛一本通 1311:【例2.5】求逆序对 | 1237:求排列的逆序数 | OpenJudge NOI 2.4 7622:求排列的逆序数 | 洛谷 P1908 逆序对

    [题目链接] ybt 1311:[例2.5]求逆序对 ybt 1237:求排列的逆序数 OpenJudge NOI 2.4 7622:求排列的逆序数 洛谷 P1908 逆序对 ybt 1311,123 ...

  5. 信息学奥赛一本通(1237:求排列的逆序数)

    1237:求排列的逆序数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 6732     通过数: 2739 [题目描述] 在Internet上的搜索引擎经常需要 ...

  6. 百练 求排列的逆序数

    百练 求排列的逆序数 总时间限制: 内存限制: 1000ms 65536kB 描述 在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对一些事物的排名来估计他(或她)对各种不同信 ...

  7. poj求排列的逆序数

    此题为分治法归并 07:求排列的逆序数 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对 ...

  8. 求排列数 C语言 PTA

    实验2-5-1 求排列数 (15 分) 本题要求实现一个计算阶乘的简单函数,使得可以利用该函数,根据公式Pnm​=(n−m)!n!​算出从n个不同元素中取出m个元素(0<m≤n)的排列数. 函数 ...

  9. 求组合数python_给定一个序列求指定位数的排列组合数

    题目:求1到p(p<10)个数中取k(1 样例输入:3 2 样例输出:[1,2], [1,3], [2,1], [2,3], [3,1], [3,2], 方法:回溯+深度优先搜索 class S ...

最新文章

  1. 编码和编码格式一样吗?_学习如何像专业人士一样编码
  2. 英伟达CEO黄仁勋获芯片行业最高荣誉:他颠覆了计算!
  3. 获取Moment Js中两个日期之间的小时差异
  4. Unix时代的开创者Ken Thompson
  5. 发布软件之前,怎样告诉用户怎么用
  6. c语言 函数的参数传递示例_C-用户定义的函数示例,没有参数,没有返回类型...
  7. android tcp 最优窗口,Android 面试必备 - 计算机网络基本知识(TCP,UDP,Http,https)...
  8. spring boot 开源项目汇总
  9. CSS3实现光束和波浪
  10. 谷歌AI为达目的,把自己的身体改造成了这样……
  11. 解决wps如何只复制标题文字(不复制正文)
  12. Apache(四)访问验证方式
  13. coreldraw梯形校正_CorelDRAW改变用形状识别所绘制对象的轮廓
  14. 事务 - TCC模式
  15. 检查库文件的rpath命令
  16. 视频教程-备战2020毕业季—毕业设计论文实战课程讲解-.NET
  17. Altium Designer安装教程,适合小白的一键安装,简单明了,傻瓜式安装
  18. python网球比赛模拟_【python】羽毛球竞技模拟
  19. 为什么需要等待2MSL
  20. 别了,AlphaGo之魂——黄士杰

热门文章

  1. linux命令后缀-d和 都表示后台启动,Linux复习材料_关宇亮整理版.doc
  2. bps计算机,bps指的是计算机的什么
  3. html邮件模板编辑器_免费电子邮件群发工具推荐「aweber」
  4. java 基本的数据类型_Java的基本数据类型介绍
  5. python编写赛车游戏单机版_使用Keras和DDPG玩赛车游戏(自动驾驶)
  6. 卢京潮自动控制原理ppt_视觉定位系统在贴片机中的使用与原理作用
  7. 周长相等的正方形面积一定相等_习题创编——周长相等的长方形面积(20200108)...
  8. adb cannot connect to daemon_手机触屏失效的抢救办法,以及如何利用adb实现PC与手机交互...
  9. Nginx10m+高并发内核优化详解
  10. 小米Max怎么刷入开发版获得root超级权限