CF407C Curious Array

题目描述

你有一个由 $n$ 个整数组成的数组:$a[1],a[2],...,a[n]$。此外,有 $m$ 个查询,每个查询由三个整数 $l_{i}, r_{i}, k_{i}$ 描述。查询 $l_{i}, r_{i}, k_{i}$ 的意思是,对于每个满足 $l_{i}\leq j\leq r_{i}$ 的位置 $a[j]$,都需要加上 $\binom{k_{i} + j - l_{i}}{j - l_{i}}$。 记 $\binom{y}{x}$ 为二项式系数,即从 $y$ 个元素中选出 $x$ 个元素的组合数。 你需要依次完成所有查询,并输出最终的数组。

输入格式

第一行包含两个整数 $n$ 和 $m$($1 \leq n, m \leq 10^{5}$)。 第二行包含 $n$ 个整数 $a[1],a[2],...,a[n]$($0 \leq a_{i} \leq 10^{9}$),表示初始数组。 接下来的 $m$ 行,每行包含一个查询 $l_{i}, r_{i}, k_{i}$——对区间 $l_{i}... r_{i}$ 内的每个元素,添加数字 $\binom{k_{i} + j - l_{i}}{j - l_{i}}$($1 \leq l_{i} \leq r_{i} \leq n$,$0 \leq k_{i} \leq 100$)。

输出格式

输出 $n$ 个整数,第 $i$ 个数表示所有查询后 $a[i]$ 的值。由于答案可能很大,请对 $1000000007$($10^{9}+7$)取模输出。

说明/提示

由 ChatGPT 5 翻译