P8105

· · 题解

考虑用矩阵描述区间操作,线段树维护。

对于点 (x,y),表为行向量 \begin{bmatrix}x&y\end{bmatrix},则:

区间查询只需要求区间的向量和即可,相当于区间加区间乘区间求和,这就是线段树 2。于是问题被 \Theta(q\log n) 解决。

然而如果直接写常数比较大可能需要展开矩阵乘法去掉一些没用的操作这样就能过了。