解析:
其实就是一个组合数学式子,每一个询问我们要求的东西是 ∑ i = 0 r − l C l + i k + i = ∑ i = 0 r − l C l + i l − k \sum_{i=0}^{r-l}C_{l+i}^{k+i}=\sum_{i=0}^{r-l}C_{l+i}^{l-k} i=0∑r−lCl+ik+i=i=0∑r−lCl+il−k
这一步的转化十分显然,但是仍然不能让我们
O
(
1
)
O(1)
O(1)回答每个询问,继续化简。
由于
∑
i
=
m
n
+
m
C
i
m
=
C
m
+
n
+
1
m
+
1
\sum_{i=m}^{n+m}C_{i}^{m}=C_{m+n+1}^{m+1}
i=m∑n+mCim=Cm+n+1m+1
上面这个式子可以对着
P
a
s
c
a
l
Pascal
Pascal三角形手推,我们利用它来化简我们要求的东西。
∑
i
=
0
r
−
l
C
l
+
i
l
−
k
=
C
r
+
1
l
−
k
+
1
−
C
l
l
−
k
+
1
\sum_{i=0}^{r-l}C_{l+i}^{l-k}=C_{r+1}^{l-k+1}-C_{l}^{l-k+1}
i=0∑r−lCl+il−k=Cr+1l−k+1−Cll−k+1
这样就可以 O ( 1 ) O(1) O(1)回答每一个询问辣。