卢卡斯定理(模数较小,且是质数)

式子C(m,n)=C(m/p,n/p)*C(m%p,n%p)%p

至于证明(我也不会QAQ,只要记住公式也该就好了)。

同时卢卡斯定理一般用于组合数取模上

1.首先当组合数取得模较大时,我们可以使用卢卡斯,也可以直接求

(只要数据范围不是很大,还能开得起数组,我们可以直接预处理出阶乘,逆元,需要时O(1)求,当然要是质数,不然只能现求)。

2.当组合数的模很小时,我们只能用卢卡斯,

我们可以发现假如我们照旧求的话,可能有的阶乘直接被消成0了

这个时候直接用阶乘会不准确,那么只能lusca了

3.模数非质数时,例如多个质数相乘,我们先用质因数分解,在用中国剩余定理即可。

 1 ll pow(ll x,ll y,ll mod)
2 {
3 ll ans=1;
4 if(y==0)return 1;
5 while(y)
6 {
7 if(y&1)ans=ans*x%mod;
8 x=x*x%mod;
9 y>>=1;
10 }
11 return ans%mod;
12 }
13 ll C(ll x,ll y,ll mod)
14 {
15 if(y>x)return 0;
16 if(y==0)return 1;
17 return jie[x]*pow(jie[y]*jie[x-y]%mod,mod-2,mod)%mod;
18 }
19 ll lus(ll x,ll y,ll mod)
20 {
21 if(y>x)return 0;
22 if(y==0)return 1;
23 return lus(x/mod,y/mod,mod)*C(x%mod,y%mod,mod)%mod;
24 }

卢卡斯模板

一道例题

中国剩余定理:

设m1,m2,m3,m4....mk两两互素,则同余方程组

x≡a1(mod m1)

x≡a2(mod m2)

x≡a3(mod m3)

x≡a4(mod m4)

x≡ak(mod mk)

一定有解,x≡(a1*M1*M1^(-1)+a2*M2*M2^(-1)+....)(mod M)

其中M=m1*m2*m3*....mk,Mi=M/mi,Mi^(-1)是Mi在模mi意义下的逆元。

至于证明自己可以在书上看了。。。。

代码

 1 void exgcd(ll a,ll b,ll &x,ll &y)
2 {
3 if(b==0){
4 x=1;y=0;return ;
5 }
6 exgcd(b,a%b,x,y);
7 ll z=x;x=y;y=z-(a/b)*y;
8 return ;
9 }
10 ll sum;ll len=1;
11 void CRT()
12 {
13 for(ll i=0;i<su.size();++i)
14 {
15 len*=su[i];
16 //printf("%lld\n",len);
17 }
18 for(ll i=0;i<su.size();++i)
19 {
20 M[i]=len/su[i];
21 }
22 for(ll i=0;i<su.size();++i)
23 {
24 ll x,y;
25 exgcd(M[i],su[i],x,y);
26 x=(x+su[i])%su[i];
27 sum=(sum+ans[i]*M[i]*x)%len;
28 //printf("sum=%lld ans=%lld M=%lld x=%lld\n",sum,ans[i],M[i],x);
29 }
30 printf("%lld\n",sum);
31 }

m=∏ni=1mi,Mi=m/mi

m=∏ni=1mi,Mi=m/mim=∏ni=1mi,Mi=m/mi

m=∏ni=1mi,Mi=m/mi

卢卡斯定理&&中国剩余定理的更多相关文章

  1. 【bzoj3782】上学路线 dp+容斥原理+Lucas定理+中国剩余定理

    题目描述 小C所在的城市的道路构成了一个方形网格,它的西南角为(0,0),东北角为(N,M).小C家住在西南角,学校在东北角.现在有T个路口进行施工,小C不能通过这些路口.小C喜欢走最短的路径到达目的 ...

  2. 【题解】P2480 [SDOI2010]古代猪文 - 卢卡斯定理 - 中国剩余定理

    P2480 [SDOI2010]古代猪文 声明:本博客所有题解都参照了网络资料或其他博客,仅为博主想加深理解而写,如有疑问欢迎与博主讨论✧。٩(ˊᗜˋ)و✧*。 题目描述 猪王国的文明源远流长,博大精 ...

  3. 【bzoj1951】[Sdoi2010]古代猪文 费马小定理+Lucas定理+中国剩余定理

    题目描述 求  $g^{\sum\limits_{k|n}C_{n}^{\frac nk}}\mod 999911659$ 输入 有且仅有一行:两个数N.G,用一个空格分开. 输出 有且仅有一行:一个 ...

  4. Ceizenpok’s formula Gym - 100633J 扩展Lucas定理 + 中国剩余定理

    http://codeforces.com/gym/100633/problem/J 其实这个解法不难学的,不需要太多的数学.但是证明的话,我可能给不了严格的证明.可以看看这篇文章 http://ww ...

  5. hdu 5446 Unknown Treasure Lucas定理+中国剩余定理

    Unknown Treasure Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Other ...

  6. Codeforces Round #460 (Div. 2).E 费马小定理+中国剩余定理

    E. Congruence Equation time limit per test 3 seconds memory limit per test 256 megabytes input stand ...

  7. BZOJ 3782 上学路线 ——动态规划 Lucas定理 中国剩余定理

    我们枚举第一个经过的坏点,然后DP即可. 状态转移方程不是难点,难点在于组合数的处理. 将狼踩尽的博客中有很详细的证明过程,但是我只记住了结论 $n=a_1 * p^k+a_2*p^k-1...$ $ ...

  8. 洛谷P2480 [SDOI2010]古代猪文(费马小定理,卢卡斯定理,中国剩余定理,线性筛)

    洛谷题目传送门 蒟蒻惊叹于一道小小的数论题竟能涉及这么多知识点!不过,掌握了这些知识点,拿下这道题也并非难事. 题意一行就能写下来: 给定\(N,G\),求\(G^{\sum \limits _{d| ...

  9. 《孙子算经》之"物不知数"题:中国剩余定理

    1.<孙子算经>之"物不知数"题 今有物不知其数,三三数之剩二,五五数之剩七,七七数之剩二,问物几何? 2.中国剩余定理 定义: 设 a,b,m 都是整数.  如果 m ...

随机推荐

  1. js 实现 bind 的这五层,你在第几层?

    最近在帮朋友复习 JS 相关的基础知识,遇到不会的问题,她就会来问我. 这不是很简单?三下五除二,分分钟解决. function bind(fn, obj, ...arr) { return fn.a ...

  2. HashMap 的数据结构

    目录 content append content HashMap 的数据结构: 数组 + 链表(Java7 之前包括 Java7) 数组 + 链表 + 红黑树(从 Java8 开始) PS:这里的& ...

  3. ThreadLocal引起的一次线上事故

    > 线上用户存储数据后查看提示无权限 前言 不知道什么时候年轻的我曾一度认为Java没啥难度,没有我实现不了的需求,没有我解不了的bug 直到我遇到至今难忘的一个bug . 线上用户存储数据后查 ...

  4. 在其他程序集访问internal类

    前言  本文将介绍如何在其他程序集访问internal类的方法 首先我们新建一个解决方案,其中同时新建两个类库FooALibray和FooALibray,如下: 其中FooA类代码如下: intern ...

  5. 什么是NPS 客户净推荐值?

    客户忠诚是企业在客户服务方面的最高目标. 客户是否忠诚通过一个问题即可判断,那就是--你会把这家企业推荐给朋友的可能性有多大?这就是著名的NPS指标,本文希望能讲清NPS客户净推荐值是什么,用好客服系 ...

  6. [Django框架之视图层]

    [Django框架之视图层] 视图层 Django视图层, 视图就是Django项目下的views.py文件,它的内部是一系列的函数或者是类,用来专门处理客户端访问请求后处理请求并且返回相应的数据,相 ...

  7. java集合-链表LinkedList

    1.简介 LinkedList 底层使用的是 双向链表的数据结构 2.类图(JDK 1.8) 下图是LinkedList实现的接口和继承的类关系图: public class LinkedList&l ...

  8. .NET平台系列9 .NET Core 3.0 / .NET Core 3.1 详解

    系列目录     [已更新最新开发文章,点击查看详细] .NET Core 3.0 于 2019年9月23日发布,重点是增加对同时支持使用 Windwos Forms.WPF 和 Entity Frm ...

  9. [bug] Container killed on request. Exit code is 143

    原因 内存不足 参考 https://blog.csdn.net/hongxiao2016/article/details/88919606 https://blog.csdn.net/Zsigner ...

  10. CentOS 7磁盘寻找不到,卡在sulogin,造成的开机失败问题--Error getting authority...

    今天早上使用内网gitlab仓库的时候,发现页面无法打开,ssh也无法连接. 到机房接上显示器,发现如下错误: Error getting authority: Error initializing ...