BZOJ 2982 combination
2024-10-18 21:18:03
lucas定理裸题。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 20050
#define mod 10007
using namespace std;
long long t,n,m,inv1[maxn],inv2[maxn];
long long f_pow(long long x,long long y)
{
long long ans=,base=x;
while (y)
{
if (y&) ans=(ans*base)%mod;
base=(base*base)%mod;
y>>=;
}
return ans%mod;
}
void get_table()
{
inv1[]=;inv2[]=;
for (long long i=;i<=;i++)
{
inv1[i]=inv1[i-]*i%mod;
inv2[i]=f_pow(inv1[i],mod-);
}
}
long long comb(long long n,long long m)
{
return inv1[n]*inv2[m]%mod*inv2[n-m]%mod;
}
long long lucas(long long n,long long m)
{
if (!m) return ;
return comb(n%mod,m%mod)*lucas(n/mod,m/mod)%mod;
}
int main()
{
get_table();
scanf("%lld",&t);
for (long long i=;i<=t;i++)
{
scanf("%lld%lld",&n,&m);
printf("%lld\n",lucas(n,m));
}
return ;
}
最新文章
- LINUX下编译源码时所需提前安装的常用依赖包列表
- CSRF防御之ASP.NET MVC
- MFC Initinstance中DoModal()返回-1
- 【转】基于注解的SpirngMVC简单介绍
- Android Log图文详解
- Android Study ING
- Springmvc构造RESTful详细讲解
- Highcharts20151130
- Android屏幕保持唤醒状态
- 获取input标签的所有属性
- Windows phone 之Socket
- Matlab绘制三维图形以及提示框
- iOS8 用AVAudioPlayer播放音乐(Swift)
- chrome console 命令简记
- F#中的自定义隐式转换
- golang 栈操作
- 性能优化——Android图片压缩与优化的几种方式
- Day8 Python基础之遗漏知识点(六)
- lua 立即执行函数
- 2017-2018-2 20165206 实验二《Java面向对象程序设计》实验报告