CF837G Functions On The Segments
题目描述
给定一个长度为 $n$ 的函数数组 $f$。函数 $f_{i}(x)$($1 \leq i \leq n$)由参数 $x_{1}, x_{2}, y_{1}, a, b, y_{2}$ 决定,其定义如下:
- 当 $x \leq x_{1}$ 时,$f_{i}(x) = y_{1}$;
- 当 $x_{1} < x \leq x_{2}$ 时,$f_{i}(x) = a \cdot x + b$;
- 当 $x > x_{2}$ 时,$f_{i}(x) = y_{2}$。
现有 $m$ 个查询。每个查询由 $l$, $r$, $x$ 三个数确定。第 $i$ 次查询($1 \leq i \leq m$)需要计算 $\sum_{j=l}^{r} f_{j}(x_{i})$,其中 $x_{i} = (x + \textit{last}) \bmod 10^{9}$,$\textit{last}$ 表示上一次查询的答案。如果 $i = 1$,则 $\textit{last} = 0$。
输入格式
第一行包含一个整数 $n$,表示函数的数量($1 \leq n \leq 75000$)。
接下来 $n$ 行,每行包含六个整数 $x_{1}, x_{2}, y_{1}, a, b, y_{2}$($0 \leq x_{1} < x_{2} \leq 2 \cdot 10^{5}$,$0 \leq y_{1}, y_{2} \leq 10^{9}$,$0 \leq a, b \leq 10^{4}$)。
接下来一行包含一个整数 $m$,表示查询次数($1 \leq m \leq 500000$)。
接下来的 $m$ 行,每行包含三个整数 $l, r, x$($1 \leq l \leq r \leq n$,$0 \leq x \leq 10^{9}$)。
输出格式
对于每一个查询,输出一行一个整数,表示相应查询的答案。
说明/提示
由 ChatGPT 5 翻译