题目链接
题解:
一看n,k如此的大就知道要使用卢卡斯定理了。利用卢卡斯定理化简以后我们可以得到以mod为分界线,分成多块,最后提取公因式,这里分块的时候,最后可能会剩余一块不完整的系,我们通过分块后知道预处理出2333的所有组合数就行了。其他的和式部分大区间利用递归,小区间直接用预处理的答案得到。
#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef long long ll;
const int N=2335;
const int mod=2333;
ll f[N][N],c[N][N];
void init()
{
c[0][0]=1;
for(int i=1;i<N;i++) c[i][i