题目大意
有 k + 1 个长度为 n 的序列,记作 a[k][n];
a[0] 为原始序列,a[i] 为 a[i - 1] 的前缀和,a[k] 即为 a[0] 的 k 阶前缀和,例如:
两种操作:
1. 0 x y:原始序列单点加,即 a[0][x] += y;
2. 1 x :求原始序列k阶前缀和的单点值,即 a[k][x];
1 <= n <= 1e5, 1 <= k <= 40。
解题分析
a[i][j] = a[i][j-1] + a[i-1][j],上例可看作一个斜着的杨辉三角:
于是要回答的即为:
∑1≤i≤x(x+k−ik)a[0][i] ∑ 1 ≤ i ≤ x ( x + k − i k ) a [ 0 ] [ i ] ,
其中 (x+k−ik) ( x + k − i k ) 是没法维护的,
由组合恒等式得:
(x+k−ik)=