#zHSXybttg060610. 1657:序列统计

1657:序列统计

好的,我将这道题整理为清晰的题面格式,并补充样例解释、数据范围与时空限制:


题目描述

原题来自:BZOJ 4403

给定三个正整数 N,LN, LRR,统计长度在 11NN 之间,元素大小都在 LLRR 之间的单调不降序列的数量。输出答案对 106+310^6+3(即 10000031000003)取模的结果。


输入格式

输入第一行包含一个整数 TT,表示数据组数。

接下来 TT 行,每行包含三个整数 N,L,RN, L, R,含义如题目描述。


输出格式

输出包含 TT 行,每行一个整数,表示所求答案对 10000031000003 取模的结果。


样例

样例输入

2
1 4 5
2 4 5

样例输出

2
5

样例解释

第一组:N=1,L=4,R=5N=1, L=4, R=5
可能的序列长度 =1=1,元素范围 [4,5][4,5]
序列有:{4},{5}\{4\},\{5\},共 22 个。

第二组:N=2,L=4,R=5N=2, L=4, R=5
序列长度可以是 1122
长度 11 的序列:{4},{5}\{4\},\{5\}(共 22 个)
长度 22 的单调不降序列:{4,4},{4,5},{5,5}\{4,4\},\{4,5\},\{5,5\}(共 33 个)
总数为 2+3=52+3=5


数据范围

对于全部输入:

  • 1N,L,R1091 \le N, L, R \le 10^9
  • 1T1001 \le T \le 100
  • 保证 LRL \le R

时空限制

  • 时间:1000 ms1000 \text{ ms}
  • 内存:524288 KB524288 \text{ KB}

提示
m=RL+1m = R - L + 1,即元素可选的种类数。

长度固定为 kk 的单调不降序列(元素范围 [L,R][L,R])的个数等于 Cm+k1kC_{m+k-1}^{k}(隔板法或映射到不降序列的组合数公式)。

因此,答案为:

k=1NCm+k1k\sum_{k=1}^{N} C_{m+k-1}^{k}

其中 m=RL+1m = R-L+1

利用组合恒等式 k=0NCm+k1k=Cm+NN\sum_{k=0}^{N} C_{m+k-1}^{k} = C_{m+N}^{N},可得:

k=1NCm+k1k=Cm+NN1\sum_{k=1}^{N} C_{m+k-1}^{k} = C_{m+N}^{N} - 1

因此问题转化为计算 Cm+NNmod1000003C_{m+N}^{N} \bmod 1000003,其中 m+Nm+N 可能非常大(达到约 2×1092\times 10^9),但模数 10000031000003 是质数,可以使用 Lucas 定理 进行计算。