P3807-[模板]卢卡斯定理
正题
题目链接: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-[模板]卢卡斯定理相关推荐
- OI模板 卢卡斯定理
卢卡斯定理 / Lucas\text{Lucas}Lucas定理 现有问题: 给定整数 n,m,pn,m,pn,m,p,求 (nm)modp\dbinom{n}{m}\bmod p(mn)modp, ...
- 洛谷——P3807 【模板】卢卡斯定理
P3807 [模板]卢卡斯定理 洛谷智推模板题,qwq,还是太弱啦,组合数基础模板题还没做过... 给定n,m,p($1\le n,m,p\le 10^5$) 求 $C_{n+m}^{m}\ mod\ ...
- 【luogu P3807】【模板】卢卡斯定理/Lucas 定理(含 Lucas 定理证明)
[模板]卢卡斯定理/Lucas 定理 题目链接:luogu P3807 题目大意 求 C(n,n+m)%p 的值. p 保证是质数. 思路 Lucas 定理内容 对于非负整数 nnn,mmm,质数 p ...
- 洛谷 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 ...
- P4720 【模板】扩展卢卡斯定理/exLucas(无讲解,纯记录模板)
P4720 [模板]扩展卢卡斯定理/exLucas 题意: CnmmodpC_{n}^{m}\bmod pCnmmodp 对于 100% 的数据,1≤m≤n≤1018,2≤p≤106,不保证 p 是 ...
- 洛谷 P4720 【模板】扩展卢卡斯定理/exLucas
[模板]扩展卢卡斯定理/exLucas 题目背景 这是一道模板题. 题目描述 求 Cnmmodp{\mathrm{C}}_n^m \bmod{p}Cnmmodp 其中 C\mathrm{C}C 为组 ...
- 【数论:组合数学】卢卡斯定理
知识点 卢卡斯定理转换下来就一个公式: 模板题 洛谷 P3807 [模板]卢卡斯定理/Lucas 定理 题目描述 给定整数 n, m, p 的值,求出 的值. 输入数据保证 p 为质数. 注: C 表 ...
- 卢卡斯定理及其卢卡斯定理的拓展
前言: 求一个组合数 ,我们可以通过逆元的方式在 O(n)的时间复杂度内求出 但如果数特别大时(数据范围 ),又该怎么办 使用卢卡斯定理求解 卢卡斯定理:(组合数取模,取模的模数只能是质数) 即 模 ...
- 【知识总结】扩展卢卡斯定理(exLucas)
扩展卢卡斯定理用于求如下式子(其中 p p p不一定是质数): C n m m o d p C_n^m\ mod\ p Cnm mod p 我们将这个问题由总体到局部地分为三个层次解决. 层次一:原 ...
- 卢卡斯定理(详细证明)
卢卡斯定理 问题 内容: 时间复杂度 证明 给个定理: 证明定理: 再来个推论: 所以我们就可以推出结论: 模板 题目 Luogu3807[模板]卢卡斯定理 P2480[SDOI2010]古代猪文(C ...
最新文章
- git init 与 git init --bare 区别
- 看了《为什么你应该写博客》有感
- Linux下搭建jenkins+svn+http+maven自动化部署
- python字符集_PYTHON 中的字符集
- BZOJ3075[USACO 2013 Mar Gold 3.Necklace]——AC自动机+DP
- Opencv中Mat的data数据只定义为uchar*类型,
- ASP.NET 缓存 Cache
- vue 后台数据列表获取图片_vue使用ajax获取后台数据进行显示的示例
- [leetcode]15. 三数之和
- mysql死锁 等待时间_mysql死锁,等待资源,事务锁,Lock wait timeout exceeded; try restarting transaction解决...
- 【异常处理】Word2016 出现“此功能看似已中断 并需要修复
- 税务信息系统建设安全管理平台的研究(一)
- bilibili弹幕爬取
- 服务器怎么做虚拟ip,如何在服务器上添加虚拟IP?看完原来如此简单!!
- Win7蓝牙标志不见了, 如何找回?
- vi中方向键和删除键
- Android手机与PC端进行通信
- cmd 更改计算机名
- 内蒙古大学计算机考研复试分数线,内蒙古大学2016年考研复试分数线
- LNMP旧版本一键安装
热门文章
- linux配置ip地址 routes,CentOS 7 设置网络IP地址(示例代码)
- 新编计算机英语第六章,新编计算机英语-电子教案.ppt
- js map对象遍历_前端测试题:有关于js中跨域请求的说法,错误的是?
- css原生样式支持,原生JS读写CSS样式的方法
- ios html 转义字符串,ioS html的转义
- wordpress多站点主站调用分站最新文章_企业网站SEO最新的7个优化步骤!
- 后端学习 - Java容器
- 全年营业额怎么计算_门店盈亏平衡计算及案例分析 | 商品管理
- [MyBatisPlus]测试BaseMapper的功能测试自定义功能
- [Spring5]IOC容器_Bean管理XML方式_注入其他类型属性