知识点

卢卡斯定理转换下来就一个公式:


模板题

洛谷 P3807 【模板】卢卡斯定理/Lucas 定理

题目描述

给定整数 n, m, p 的值,求出 的值。

输入数据保证 p 为质数。

注: C 表示组合数。

输入格式

本题有多组数据

第一行一个整数 T,表示数据组数。

对于每组数据:

一行,三个整数 n, m, p。

输出格式

对于每组数据,输出一行,一个整数,表示所求的值。

输入输出样例

输入 #1

2
1 2 5
2 1 5

输出 #1

3
3

说明/提示

对于 100% 的数据,

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define ll long long
#define re register
using namespace std;
ll int t,n,m,p;
inline ll int read()
{ll int x=0,f=1;char c=getchar();while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();}while(c>='0'&&c<='9'){x=(x<<3)+(x<<1)+(c^48);c=getchar();}return x*f;
}inline ll int poww(ll int x,ll int y)
{ll int ans=1;if(y == 0) ans=1;while(y>0){if(y & 1){ans=(ans*x)%p;}x=x*x%p;y=y>>1;}return ans%p;
}inline ll int C(ll int x,ll int y)
{if(x<y) return 0;if(y > x-y) y = x-y;ll int a=1,b=1;for(re ll int i=0;i<y;++i){a=(a*(x-i))%p;b=(b*(i+1))%p;}return a*poww(b,p-2)%p;
}inline ll int Lucas(ll int x,ll int y)
{if(y == 0) return 1;return C(x%p,y%p)*Lucas(x/p,y/p)%p;
}int main()
{t=read();while(t--){n=read(); m=read(); p=read();ll int ans=Lucas(n+m,n);printf("%lld\n",ans);}return 0;
}

【数论:组合数学】卢卡斯定理相关推荐

  1. 『数学』--数论--组合数+卢卡斯定理+扩展卢卡斯定理

    组合数: 在N个数中选取M个数,问选的方式有几种? 直接递归暴力简单 #include<cstdio> const int N = 2000 + 5; const int MOD = (i ...

  2. 数学--数论--HDU 4675 GCD of Sequence(莫比乌斯反演+卢卡斯定理求组合数+乘法逆元+快速幂取模)

    先放知识点: 莫比乌斯反演 卢卡斯定理求组合数 乘法逆元 快速幂取模 GCD of Sequence Alice is playing a game with Bob. Alice shows N i ...

  3. 组合数学 —— 组合数取模 —— 卢卡斯定理与扩展卢卡斯定理

    [卢卡斯定理] 1.要求:p 是质数,m.n 很大但 p 很小 或者 n.m 不大但大于 p 2.定理内容 其中, 3.推论 当将 n 写成 p 进制:,将 m 写成 p 进制: 时,有: 4.实现 ...

  4. 《夜深人静写算法》数论篇 - (22) 卢卡斯定理

    文章目录 前言 一.问题引入 1.递推公式 2.通项公式 二.卢卡斯定理 1.定义 2.证明 1)引理1 2)引理2 3)卢卡斯定理 前言     卢卡斯定理,ACM刷题中遇到过,用于组合数取模. 一 ...

  5. 数论-卢卡斯定理(lucas)与拓展卢卡斯定理 (exlucas)

    卢卡斯定理(lucas) [用途] 求解 C n m % p C_{n}^{m}\% p Cnm​%p,其中m,n较大,p较小且为素数 [结论] C n m ≡ C n / p m / p C n % ...

  6. OI模板 卢卡斯定理

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

  7. szucodeforce训练1081C组合数学lucas定理,div2 627的D dfs +剪枝优化,697D Puzzles{dfs序+概率}

    给你n个方格排成一行,有m种颜色,然后要把这n个方格分成k+1段,每段涂不同的颜色,问有多少种方法. 组合数学Lucas定理 排列组合问题,首先要在n-1个位置里面选出k个位置当作段与段的分割点,然后 ...

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

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

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

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

最新文章

  1. 深度学习七个实用技巧
  2. Android Studio离线打包5+SDK
  3. java链式编程_Java 链式编程 和 lombok 实现链式编程
  4. 大连银行王丰辉:最大的浪、最大的坑、最大的未来(附 PPT 下载)
  5. advanced search at idiscover
  6. spring bean配置_在运行时交换出Spring Bean配置
  7. 【LeetCode笔记】494. 目标和(Java、动态规划、背包问题、滚动数组)
  8. c语言第六次上机作业,C语言第五次上机作业参考答案
  9. Wireshark实战分析之IP协议(一)
  10. 尚硅谷大数据听课笔记 day2:数据类型
  11. 计算机视频剪辑教程,电脑怎么剪辑视频?新手都能上手的视频剪辑教程分享
  12. 3个小故事让你搞懂什么是敏捷开发模式!
  13. 薇娅直播卖火箭,B 站酒泉发卫星,航天贴标生意凭什么?
  14. 上网代理设置会被自动清空_代理服务器上网(代理服务器老是自动打开)
  15. PDF电子签名申请与设置方法
  16. 6-5 xcu-sjjg-java-List-5 有序表的插入
  17. dpo指标详解买入绝技_DPO指标详解:dpo指标使用技巧
  18. HTML5期末大作业:网站——卡通漫画游戏官方网页 (萌王) 13个页面 HTML+CSS+JavaScript ~ 学生HTML个人网页作业作品下载 ~ web课程设计网页规划与设计
  19. Javascript万年历
  20. Android Studio报错:NDK does not contain any platforms

热门文章

  1. 项目管理手记 12 ERP选型,不要做 充气哈蟆
  2. IT工程师面试必备的编程能力
  3. 飞桨深度学习零基础入门(一)——使用飞桨(Paddle)单层神经网络预测波士顿房价
  4. python psutil模块查找进程_python模块 - psutil
  5. javascript取随机数_javaScript中的随机数方法
  6. SQL中的DDL语句
  7. Apifox简单了解——WEB端测试的集大成者
  8. java中如何把字符串日期转时间戳
  9. 7-1 层序遍历二叉链表
  10. oppo手表安装android,上手OPPO Watch系统新版本:手表装上安卓是什么体验?