正题

题目链接:https://www.luogu.org/problem/P3807


题目大意

求Cn+mm%pC_{n+m}^m\% pCn+mm​%p


LucasLucasLucas定理

Cnm%p=C⌊np⌋⌊mp⌋∗Cn%pm%pC_{n}^m\% p=C_{\lfloor \frac{n}{p}\rfloor}^{\lfloor \frac{m}{p}\rfloor}*C_{n\%p}^{m\%p}Cnm​%p=C⌊pn​⌋⌊pm​⌋​∗Cn%pm%p​


解题思路

预处理好1∼p1\sim p1∼p的阶乘,根据LucasLucasLucas定理递推计算下去。


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
ll T,n,m,p,a[110000];
ll power(ll x,ll b,ll p)
{ll ans=1;while(b){if(b&1) ans=ans*x%p;x=x*x%p;b>>=1;}return ans;
}
ll C(ll n,ll m,ll p)
{if(m>n) return 0ll;return a[n]*power(a[m],p-2,p)%p*power(a[n-m],p-2,p)%p;
}
ll lucas(ll n,ll m,ll p)
{if(!m) return 1ll;return lucas(n/p,m/p,p)*C(n%p,m%p,p)%p;
}
int main()
{scanf("%lld",&T);while(T--){scanf("%lld%lld%lld",&n,&m,&p);a[0]=1;for(ll i=1;i<=p;i++)a[i]=a[i-1]*i%p;printf("%lld\n",lucas(n+m,m,p));}return 0;
}

P3807-[模板]卢卡斯定理相关推荐

  1. OI模板 卢卡斯定理

    卢卡斯定理 / Lucas\text{Lucas}Lucas定理 现有问题: 给定整数 n,m,pn,m,pn,m,p,求 (nm)modp\dbinom{n}{m}\bmod p(mn​)modp, ...

  2. 洛谷——P3807 【模板】卢卡斯定理

    P3807 [模板]卢卡斯定理 洛谷智推模板题,qwq,还是太弱啦,组合数基础模板题还没做过... 给定n,m,p($1\le n,m,p\le 10^5$) 求 $C_{n+m}^{m}\ mod\ ...

  3. 【luogu P3807】【模板】卢卡斯定理/Lucas 定理(含 Lucas 定理证明)

    [模板]卢卡斯定理/Lucas 定理 题目链接:luogu P3807 题目大意 求 C(n,n+m)%p 的值. p 保证是质数. 思路 Lucas 定理内容 对于非负整数 nnn,mmm,质数 p ...

  4. 洛谷 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 ...

  5. P4720 【模板】扩展卢卡斯定理/exLucas(无讲解,纯记录模板)

    P4720 [模板]扩展卢卡斯定理/exLucas 题意: CnmmodpC_{n}^{m}\bmod pCnm​modp 对于 100% 的数据,1≤m≤n≤1018,2≤p≤106,不保证 p 是 ...

  6. 洛谷 P4720 【模板】扩展卢卡斯定理/exLucas

    [模板]扩展卢卡斯定理/exLucas 题目背景 这是一道模板题. 题目描述 求 Cnmmodp{\mathrm{C}}_n^m \bmod{p}Cnm​modp 其中 C\mathrm{C}C 为组 ...

  7. 【数论:组合数学】卢卡斯定理

    知识点 卢卡斯定理转换下来就一个公式: 模板题 洛谷 P3807 [模板]卢卡斯定理/Lucas 定理 题目描述 给定整数 n, m, p 的值,求出 的值. 输入数据保证 p 为质数. 注: C 表 ...

  8. 卢卡斯定理及其卢卡斯定理的拓展

    前言: 求一个组合数 ,我们可以通过逆元的方式在 O(n)的时间复杂度内求出 但如果数特别大时(数据范围 ),又该怎么办 使用卢卡斯定理求解 卢卡斯定理:(组合数取模,取模的模数只能是质数) 即  模 ...

  9. 【知识总结】扩展卢卡斯定理(exLucas)

    扩展卢卡斯定理用于求如下式子(其中 p p p不一定是质数): C n m m o d p C_n^m\ mod\ p Cnm​ mod p 我们将这个问题由总体到局部地分为三个层次解决. 层次一:原 ...

  10. 卢卡斯定理(详细证明)

    卢卡斯定理 问题 内容: 时间复杂度 证明 给个定理: 证明定理: 再来个推论: 所以我们就可以推出结论: 模板 题目 Luogu3807[模板]卢卡斯定理 P2480[SDOI2010]古代猪文(C ...

最新文章

  1. git init 与 git init --bare 区别
  2. 看了《为什么你应该写博客》有感
  3. Linux下搭建jenkins+svn+http+maven自动化部署
  4. python字符集_PYTHON 中的字符集
  5. BZOJ3075[USACO 2013 Mar Gold 3.Necklace]——AC自动机+DP
  6. Opencv中Mat的data数据只定义为uchar*类型,
  7. ASP.NET 缓存 Cache
  8. vue 后台数据列表获取图片_vue使用ajax获取后台数据进行显示的示例
  9. [leetcode]15. 三数之和
  10. mysql死锁 等待时间_mysql死锁,等待资源,事务锁,Lock wait timeout exceeded; try restarting transaction解决...
  11. 【异常处理】Word2016 出现“此功能看似已中断 并需要修复
  12. 税务信息系统建设安全管理平台的研究(一)
  13. bilibili弹幕爬取
  14. 服务器怎么做虚拟ip,如何在服务器上添加虚拟IP?看完原来如此简单!!
  15. Win7蓝牙标志不见了, 如何找回?
  16. vi中方向键和删除键
  17. Android手机与PC端进行通信
  18. cmd 更改计算机名
  19. 内蒙古大学计算机考研复试分数线,内蒙古大学2016年考研复试分数线
  20. LNMP旧版本一键安装

热门文章

  1. linux配置ip地址 routes,CentOS 7 设置网络IP地址(示例代码)
  2. 新编计算机英语第六章,新编计算机英语-电子教案.ppt
  3. js map对象遍历_前端测试题:有关于js中跨域请求的说法,错误的是?
  4. css原生样式支持,原生JS读写CSS样式的方法
  5. ios html 转义字符串,ioS html的转义
  6. wordpress多站点主站调用分站最新文章_企业网站SEO最新的7个优化步骤!
  7. 后端学习 - Java容器
  8. 全年营业额怎么计算_门店盈亏平衡计算及案例分析 | 商品管理
  9. [MyBatisPlus]测试BaseMapper的功能测试自定义功能
  10. [Spring5]IOC容器_Bean管理XML方式_注入其他类型属性