bzoj 2982: combination(lucas定理模板)
lucas定理板子
對於可以轉化為這是一個遞迴的過程,時間為log。
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long ll;
int n,m,p=10007;
ll inv[100010];
ll jc[100010];
void gett()
{
inv[1]=1;
for(int i = 2;i <= p;i++)
{
inv[i]=(p-p/i)*inv[p%i]%p;
}
inv[0]=1;
for(int i = 1;i <= p;i++)
{
inv[i]=inv[i-1]*inv[i]%p;
}
jc[0]=1;
for(int i = 1;i <= p;i++)
{
jc[i]=jc[i-1]*i%p;
}
}
ll Lucas(ll x,ll y)
{
if(y==0)return 1;
if(x%p<y%p)return 0;
return Lucas(x/p,y/p)%p*jc[x%p]*inv[y%p]*inv[(x%p-y%p)%p]%p;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
gett();
printf("%lld\n",Lucas(n,m)%p);
}
return 0;
}
相關文章
- 盧卡斯定理(Lucas定理)
- BZOJ 2111 [ZJOI2010]Perm 排列計數:Tree dp + Lucas定理
- Lucas(盧卡斯)定理
- [Lucas定理] 集合計數
- HDU 5794 A Simple Chess (lucas定理+費馬小定理)
- Lucas定理 & Catalan Number & 中國剩餘定理(CRT)
- 【演算法學習筆記】組合數與 Lucas 定理演算法筆記
- [SDOI2015]約數個數和-[BZOJ4176]Lucas的數論-題解
- bzoj 1477 青蛙的約會(exgcd模板)GC
- Leetcode 39 Combination SumLeetCode
- leetcode-39-Combination SumLeetCode
- Leetcode 40 Combination Sum IILeetCode
- 費馬小定理 + 費馬大定理 + 勾股數的求解 + 快速冪 + 矩陣快速冪 【模板】矩陣
- 矩陣樹定理 BEST 定理矩陣
- [LeetCode] 2275. Largest Combination With Bitwise AND Greater Than ZeroLeetCode
- BZOJ2839/LG10596 集合計數 題解(二項式反演+擴充套件尤拉定理)套件
- 矩陣樹定理與BEST定理矩陣
- Coppersmith定理MIT
- 主定理
- 奈奎斯特定理與夏農定理
- 用Rolle中值定理證明Lagrange中值定理
- “沒有免費的午餐”定理(NFL定理)
- BEST 定理與矩陣樹定理的證明矩陣
- 大數定理
- 盧卡斯定理
- 介值定理
- 費馬定理
- 尤拉定理
- bzoj 2120
- 泛函分析筆記(十四)Baire定理,Banach-Steinhaus定理泛函分析筆記AI
- 威爾遜定理
- 貝葉斯定理
- 算數基本定理
- 二項式定理
- Hall定理總結
- 矩陣樹定理矩陣
- 角谷定理-XDOJ
- ●BZOJ 4318 OSU!