为什么不能用逆元?

Posted Sherlockk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么不能用逆元?相关的知识,希望对你有一定的参考价值。

一个问题:

为什么不能不能用阶乘逆元做这题 P3807 【模板】卢卡斯定理 ?

求 Cmn+m mod p,n,m,p<=1e5;

举个例子 C2mod 2 ,应该得到1,但因为 2! mod 2 为0,3!mod 2 为 0,所以会算得零

看一看逆元的定义: x*x-1 ≡ 1 (mod p) ,假如 x ≡ 0 (mod p) ,一定不存在 x-1

p 的倍数不存在逆元,当不保证 n<=p 时,应用 Lucas定理,只需用到 p 以内的阶乘逆元。

 

以上是关于为什么不能用逆元?的主要内容,如果未能解决你的问题,请参考以下文章

逆元求组合数

HDU 4869 Turn the pokers(思维+逆元)

bzoj 1485 有趣的数列

Codeforces 963A Alternating Sum ( 思维 && 数论 )

bzoj 4602: [Sdoi2016]齿轮

用逆波兰表示法计算算术表达式的值。这段代码有啥错误,只有一个测试用例给了我错误的答案