求排列组合数C(n,m) φ(゜▽゜*)♪
我们可以先预处理出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) φ(゜▽゜*)♪相关推荐
- 用C语言求排列组合数
用C语言求排列组合数 #include <stdio.h> #include <stdlib.h>double f(int a, int b);//因为排列数可大可小,所以返回 ...
- C语言求排列组合和阶乘
关于C语言求排列数.组合数以及阶乘的实验记录: 一.求排列数和组合数 以下公式中A(n,m)为排列数公式,C(n,m)为组合数公式. Cnm=n!m!(n−m)!=Anmm!=Cn−1m+Cn−1m− ...
- [算法] 求排列组合: 从n个数中任选m个数组成一个新数
#include <iostream> #include <vector>using namespace std;// 求排列组合算法: C(n, m): 从n个数中任选m个数 ...
- 信息学奥赛一本通 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 ...
- 信息学奥赛一本通(1237:求排列的逆序数)
1237:求排列的逆序数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 6732 通过数: 2739 [题目描述] 在Internet上的搜索引擎经常需要 ...
- 百练 求排列的逆序数
百练 求排列的逆序数 总时间限制: 内存限制: 1000ms 65536kB 描述 在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对一些事物的排名来估计他(或她)对各种不同信 ...
- poj求排列的逆序数
此题为分治法归并 07:求排列的逆序数 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对 ...
- 求排列数 C语言 PTA
实验2-5-1 求排列数 (15 分) 本题要求实现一个计算阶乘的简单函数,使得可以利用该函数,根据公式Pnm=(n−m)!n!算出从n个不同元素中取出m个元素(0<m≤n)的排列数. 函数 ...
- 求组合数python_给定一个序列求指定位数的排列组合数
题目:求1到p(p<10)个数中取k(1 样例输入:3 2 样例输出:[1,2], [1,3], [2,1], [2,3], [3,1], [3,2], 方法:回溯+深度优先搜索 class S ...
最新文章
- 编码和编码格式一样吗?_学习如何像专业人士一样编码
- 英伟达CEO黄仁勋获芯片行业最高荣誉:他颠覆了计算!
- 获取Moment Js中两个日期之间的小时差异
- Unix时代的开创者Ken Thompson
- 发布软件之前,怎样告诉用户怎么用
- c语言 函数的参数传递示例_C-用户定义的函数示例,没有参数,没有返回类型...
- android tcp 最优窗口,Android 面试必备 - 计算机网络基本知识(TCP,UDP,Http,https)...
- spring boot 开源项目汇总
- CSS3实现光束和波浪
- 谷歌AI为达目的,把自己的身体改造成了这样……
- 解决wps如何只复制标题文字(不复制正文)
- Apache(四)访问验证方式
- coreldraw梯形校正_CorelDRAW改变用形状识别所绘制对象的轮廓
- 事务 - TCC模式
- 检查库文件的rpath命令
- 视频教程-备战2020毕业季—毕业设计论文实战课程讲解-.NET
- Altium Designer安装教程,适合小白的一键安装,简单明了,傻瓜式安装
- python网球比赛模拟_【python】羽毛球竞技模拟
- 为什么需要等待2MSL
- 别了,AlphaGo之魂——黄士杰
热门文章
- linux命令后缀-d和 都表示后台启动,Linux复习材料_关宇亮整理版.doc
- bps计算机,bps指的是计算机的什么
- html邮件模板编辑器_免费电子邮件群发工具推荐「aweber」
- java 基本的数据类型_Java的基本数据类型介绍
- python编写赛车游戏单机版_使用Keras和DDPG玩赛车游戏(自动驾驶)
- 卢京潮自动控制原理ppt_视觉定位系统在贴片机中的使用与原理作用
- 周长相等的正方形面积一定相等_习题创编——周长相等的长方形面积(20200108)...
- adb cannot connect to daemon_手机触屏失效的抢救办法,以及如何利用adb实现PC与手机交互...
- Nginx10m+高并发内核优化详解
- 小米Max怎么刷入开发版获得root超级权限