U648565 【模板】矩乘线段树
题目背景
模板题,无背景。
题目描述
给定两个序列 $a$ 和 $b$,有三种操作:
操作 $1$:将区间里的每一个 $a_i$ 变为 $xa_i + yb_i$。\
操作 $2$:将区间里的每一个 $b_i$ 变为 $xa_i + yb_i$。\
操作 $3$:求区间的 $\sum a_i$ 和 $\sum b_i$。
输入格式
第一行两个整数 $n, m$,分别表示序列长度和操作的总个数。
第二行 $n$ 个整数,表示初始的序列 $a$。
第三行 $n$ 个整数,表示初始的序列 $a$。
接下来 $m$ 行,每行格式如下所示:
- `1 l r x y`:将区间 $[l, r]$ 里的每一个 $a_i$ 变为 $xa_i + yb_i$。
- `2 l r x y`:将区间 $[l, r]$ 里的每一个 $b_i$ 变为 $xa_i + yb_i$。
- `3 l r`:求区间 $[l, r]$ 的 $\sum a_i$ 和 $\sum b_i$,答案对 $10^9 + 7$ 取模。
输出格式
输出包含若干行,每行 $2$ 个整数,表示操作 $3$ 的答案。
说明/提示
对于 NaN 的数据,满足:$1 \le n, m \le 10^5$,$0 \le a_i, b_i, x, y < 2^{30}$。