组合数取模
来源:互联网 发布:nginx 二级域名转发 编辑:程序博客网 时间:2024/06/05 13:29
首先给出组合数计算方法:C(n, m) = n!/m!/(n-m)!.
公式中有除数,a / b % m != a % m / b % m. 但是 a / b % m = a * b' % m其中b'是b模m的逆元。
求逆元可以用拓展欧几里德。但是当模数m是质数时,可以用费马小定理求逆元。虽然求出来的不一定是最小逆元,对模运算来说,没关系的。
费马小定理:a^(m-1) 同余 1 模 m。其中m为质数。那么a模m的一个乘法逆元就是a^(m-2)。
当模数m较大时,a^(m-2)会爆long long. 那么就要用快速幂运算了。
阅读全文
0 0
- 组合数取模
- 【组合数取模】
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 组合数取模
- 第四课、C程序结构
- 性能核心概念
- 慎用Servlet成员变量-导致线程安全问题
- css之水平垂直居中篇
- BZOJ 2482 || SPOJ GSS2 Can you answer these queries II(线段树 离线 后缀和)
- 组合数取模
- 51单片机之外设——74HC138、74HC02、74HC573讲解(三)
- 贪心A 删数问题
- Spring事务管理的使用
- HDOJ2044
- 贪心B 活动选择问题(很经典)
- 第五课、 C基本语法
- php 获取当前的域名
- 01-复杂度1 最大子列和问题(20 分)