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}$。