D
题目链接:https://atcoder.jp/contests/arc110/tasks/arc110_d
此处我们应当通过实际意义理解组合数式意义
这种思路在证明组合数恒等式时常用,如范德蒙德卷积
(sum^{k}_{i=0} sum_{j+i=k} C ^{i}_{a} imes C ^{j}_{b} = C ^{k}_{a+b})
在(a)个数和(b)个数((a+b)个数各不相同)中各选择若干个数,总共选择(k)个的方案数,实际上就是在(a+b)个互不相同的数中选择(k)个的方案数
考虑子问题,将题目中的小于(M)改为恰好为(M)
我们考虑(prod^{N}_{i=1}C^{A_i}_{B_i}的实际意义)
即在(B_1)个数中选(A_1)个,并且在(B_2)个数中选(A_2)个,依次类推,并且在(B_N)个数中选(A_N)个
我们将(B_1,B_2,B_3,...,B_N)合为个数为(sum B_i)即(M)的球,编号为(1 ightarrow M)
我们先思考为什么答案非(C^{sum A_i}_{space space space M})
很容易可以发现,无法保证对于每个(B_i),都选到了(A_i)个球
由于(B_i)的值可以改变,我们考虑加入(N-1)个插板分隔(B_i)和(B_{i+1})的区间
我们可以在长度为(M)的球中混入(N-1)个插板,插板的位置随选择的球而改变,即
假设选择的空位(空位是用来放(sum{A_i})个球和(N-1)个插板的)序列为(s_1,s_2,s_3,...,s_{sum{A_i}})
那么(s_1,s_2,...,s_{A_1})这些位置放球,(s_{A_1+1})放插板,(s_{A_1+2},s_{A_1+3},...,s_{A_2+N+1})放球,(s_{A_2+N+2})放插板,以此类推
可以发现这里的(B_i)值实际上随着空位的不同而变动了,但是由于(sum B_i = M)且(B_i>A_i),所以不会漏解或错误
所以问题转化为,在(M+N-1)个位置中选择((sum A_i) +N-1)个位置,答案为(C^{(sum A_i)-1}_{M+N-1})
子问题解决,我们来看最终的答案
(sum^{M}_{i=sum{A_i}}C^{(sum A_i)+N-1}_{i+N-1})
(=)
(sum^{M+N-1}_{i=sum{A_i}+N-1}C^{(sum A_i)+N-1}_{i})
想必各位都知道恒等式
(sum^{n}_{i=k}C^{k}_{i}=C^{k+1}_{n+1})
因此,
(sum^{M+N-1}_{i=(sum{A_i})+N-1}C^{(sum A_i)+N-1}_{i}=C^{(sum{A_i})+N}_{M+N})
即为答案