组合计数5:序列统计
作者:
总打瞌睡的天天啊
,
2024-08-07 21:03:52
,
所有人可见
,
阅读 2
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long LL;
const int N=100010,p=1000003;
int qmi(int a,int k)
{
int res=1;
while(k)
{
if(k&1)res=(LL)res*a%p;
a=(LL)a*a%p;
k>>=1;
}
return res;
}
int C(int a,int b)
{
if(a<b)return 0;
int down=1,up=1;
for(int i=a,j=1;j<=b;i--,j++)
{
up=(LL)up*i%p;
down=(LL)down*j%p;
}
return (LL)up*qmi(down,p-2)%p;
}
int Lucas(int a,int b)
{
if(a<p&&b<p)return C(a,b);
return (LL)Lucas(a/p,b/p)*C(a%p,b%p);
}
int main()
{
int t;
cin>>t;
while(t--)
{
int n,l,r;
cin>>n>>l>>r;
cout<<(Lucas(r-l+n+1,r-l+1)+p-1)%p<<endl;
}
return 0;
}