洛谷——P3807 【模板】卢卡斯定理
P3807 【模板】卢卡斯定理
洛谷智推模板题,qwq,还是太弱啦,组合数基础模板题还没做过。。。
给定n,m,p($1\le n,m,p\le 10^5$)
求 $C_{n+m}^{m}\ mod\ p$
$lucas$定理:
$C_{n}^{m}=C_{n\%p}^{m\%p}\times C_{n/p}^{m/p}\mod p$
相当于把$n,m$写成$p$进制数($A_1,A_2\dotso A_k$),($B_1,B_2\dotso B_k$)
$C_{n}^{m}=C_{A_1}^{B_1}\times C_{A_2}^{B_2}\times \dots \times C_{A_k}^{B_k}$
证明略。。。(还不是因为博主弱,不会证吗。。。)
Lucas+费马小定理
#include<iostream> #include<cstdio> #include<algorithm>#define N 200004 #define LL long long using namespace std;LL f[N];LL pow(LL a,LL b,LL p){LL s=1;for(;b;b>>=1,a=a*a%p)if(b&1) s=s*a%p;return s; }LL C(LL n,LL m,LL p){if(m>n) return 0;return (f[n]*pow(f[m],p-2,p))%p*(pow(f[n-m],p-2,p)%p)%p; }LL lucas(LL n,LL m,LL p){if(!m) return 1;return C(n%p,m%p,p)*lucas(n/p,m/p,p)%p; }LL T,n,m,p;int main() {scanf("%lld",&T);while(T--){scanf("%lld%lld%lld",&n,&m,&p);f[0]=1;for(int i=1;i<=p;i++) f[i]=f[i-1]*i%p;printf("%lld\n",lucas(n+m,m,p));}return 0; }
lucas+逆元
#include<iostream> #include<cstdio> #include<algorithm>#define N 200004 #define LL long long using namespace std;LL f[N],inv[N];LL lucas(LL n,LL m,LL p){if(n<m) return 0;else if(n<p) return f[n]*inv[m]*inv[n-m]%p;else return lucas(n%p,m%p,p)*lucas(n/p,m/p,p)%p; }LL T,n,m,p;int main() {scanf("%lld",&T);while(T--){scanf("%lld%lld%lld",&n,&m,&p);f[0]=f[1]=inv[1]=inv[0]=1;for(int i=2;i<=p;i++) f[i]=f[i-1]*i%p;for(int i=2;i<=p;i++) inv[i]=(p-p/i)*inv[p%i]%p;for(int i=2;i<=p;i++) inv[i]=inv[i]*inv[i-1]%p;printf("%lld\n",lucas(n+m,m,p));}return 0; }
转载于:https://www.cnblogs.com/song-/p/9776026.html
洛谷——P3807 【模板】卢卡斯定理相关推荐
- 洛谷 P3807 【模板】卢卡斯定理
题目背景 这是一道模板题. 题目描述 给定n,m,p(1\le n,m,p\le 10^51≤n,m,p≤105) 求 C_{n+m}^{m}\ mod\ pCn+mm mod p 保证P为prim ...
- 专题·树链剖分【including 洛谷·【模板】树链剖分
初见安~~~终于学会了树剖~~~ [兴奋]当初机房的大佬在学树剖的时候我反复强调过:"学树剖没有前途的!!!" 恩.真香. 一.重链与重儿子 所谓树剖--树链剖分,就是赋予一个链的 ...
- 洛谷·【模板】点分树 | 震波【including 点分树
初见安-这里是传送门:洛谷P6329 [模板]点分树 | 震波 一.点分树 其实你会点分治的话,点分树就是把点分治时的重心提出来重新连城一棵树. 比如当前点是u,求出子树v的重心root后将root与 ...
- OI模板 卢卡斯定理
卢卡斯定理 / Lucas\text{Lucas}Lucas定理 现有问题: 给定整数 n,m,pn,m,pn,m,p,求 (nm)modp\dbinom{n}{m}\bmod p(mn)modp, ...
- 洛谷P3807 【模板】卢卡斯定理exgcd
题目背景 这是一道模板题. 题目描述 给定n,m,p(1\le n,m,p\le 10^51≤n,m,p≤105 ) 求 C_{n+m}^{m}\ mod\ pCn+mm mod p 保证P为pri ...
- [洛谷P3807]【模板】卢卡斯定理
题目大意:给你$n,m,p(p \in \rm prime)$,求出$C_{n + m}^m\bmod p(可能p\leqslant n,m)$ 题解:卢卡斯$Lucas$定理,$C_B^A\bmod ...
- 洛谷—— P3807 【模板】卢卡斯定理
https://www.luogu.org/problemnew/show/3807 题目背景 这是一道模板题. 题目描述 给定n,m,p(1\le n,m,p\le 10^51≤n,m,p≤105) ...
- 洛谷.4245.[模板]任意模数NTT(MTT/三模数NTT)
题目链接 三模数\(NTT\): 就是多模数\(NTT\)最后\(CRT\)一下...下面两篇讲的都挺明白的. https://blog.csdn.net/kscla/article/details/ ...
- 洛谷.4897.[模板]最小割树(Dinic)
题目链接 最小割树模板.具体见:https://www.cnblogs.com/SovietPower/p/9734013.html. ISAP不知为啥T成0分了.. Dinic: //1566ms ...
最新文章
- html 动态创建表格,jquery动态创建表格
- directoryinfo 读取 映射磁盘_LoaRunner性能测试系统学习教程:磁盘监控(5)
- [vue] vue组件之间的通信都有哪些?
- 【集合框架】JDK1.8源码分析HashSet LinkedHashSet(八)
- 《兔兔公司的历史》那些年,百度的荣耀和沉沦
- Springboot/Cloud集成Sentinel进阶实战
- 基于JAVA+SpringMVC+Mybatis+MYSQL的微信小程序图书借阅管理系统
- 很多朋友问做自媒体的意义是什么?
- 23亿美元大市场,NFV做好了准备吗?
- 190410每日一句
- servlet的配置(映射)以及生命周期
- editormd富文本编辑器
- postman常用断言
- win10开机桌面假死鼠标能动怎么办
- 数据增强——mixup
- Local Generic Representation for Face Recognition with Single Sample per Person (ACCV, 2014)
- Base64 erlang
- Latex常见数学符号写法
- 小猪佩奇篇(turtle)
- 织梦文章发布 html仅动态,织梦dedecms采集文章后导出为仅动态的解决方案