题目链接
题解:
生成一个长度为1-N的序列,在l,r区间中选择数字。那么有m=r-l+1个数字可以选择,每个数字选择的次数加起来为N,所以这是明显的插空法。为了让每个数字都一定会被选一次,所以左右全部+1,接下里就是利用公式合并再卢卡斯一下了。
#pragma GCC optimize(2)
#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef long long ll;
const int mod=1e6+3;
const int N=1e6+7;
int fac[N],inv[N];
ll q_pow(int a,int b)
{
ll res=1;