1. 范围较小. 求 ,共n组询问。 1 ≤ n ≤ 10000, 1 ≤ b ≤ a ≤ 2000

暴力使用杨辉三角即可。f[i][j] = f[i - 1][j - 1] + f[i - 1][j]

 

2. 仍求第一问的值,但是1 ≤ b ≤ a ≤ ,预处理出的逆元和阶乘展开即可。

 

3. ,共n组询问。1 ≤ n ≤ 20, 1 ≤ b ≤ a ≤ ,1 ≤ p ≤  (eg:hdu3944)

Lucas定理 :

故时间复杂度为

(1)为递归

(2)为计算每次组合数的时候最多P次

(3)为每次快速幂的次数