【BZOJ 2982】 combination
2024-10-01 07:57:37
【题目链接】
https://www.lydsy.com/JudgeOnline/problem.php?id=2982
【算法】
lucas定理
【代码】
#include<bits/stdc++.h>
using namespace std;
const int P = ; int n,m,T;
int fac[P],inv[P]; inline int power(int a,int n)
{
int b = a,res = ;
while (n)
{
if (n & ) res = 1ll * res * b % P;
b = 1ll * b * b % P;
n >>= ;
}
return res;
}
inline void init()
{
int i;
fac[] = ;
for (i = ; i < P; i++) fac[i] = 1ll * fac[i-] * i % P;
inv[P-] = power(fac[P-],P-);
for (i = P - ; i >= ; i--) inv[i] = 1ll * inv[i+] * (i + ) % P;
}
inline int c(int n,int m)
{
if (n < m) return ;
return 1ll * fac[n] * inv[m] % P * inv[n-m] % P;
}
inline int C(int n,int m)
{
if (m == ) return ;
else return 1ll * C(n/P,m/P) * c(n%P,m%P) % P;
} int main()
{ init();
scanf("%d",&T);
while (T--)
{
scanf("%d%d",&n,&m);
printf("%d\n",C(n,m));
} return ; }
最新文章
- canvas 制作flappy bird(像素小鸟)全流程
- 实现iOS图片等资源文件的热更新化(一): 从Images.xcassets导出合适的图片
- 先进的React GUI编辑器 — Structor,所见即所得!
- CI 自动提交表单
- VS2015环境下Crystal Reports(水晶报表)的安装使用
- 1628. White Streaks(STL)
- 利用servicestack连接redis
- js原生设计模式——12装饰者模式
- [转]DevExpress GridControl 关于使用CardView的一点小结
- leetcode — balanced-binary-tree
- day26 面向对象 单例模式总结
- 数学模块_math
- 第五章 绘图基础(BEZIER)
- java多线程快速入门(十四)
- 关于学习oi的一些事项
- MyBatis 值的传递
- Axure谷歌浏览器Chrome扩展程序下载及安装方法
- python值传递和指针传递
- Python 面向对象编程的一些特征 及 单例模式的实现, 父类方法的调用(python2/python3)
- file_get_contents()