分析
对于操作一,相当于翻转,我们可以用异或去处理这个标记
对于操作二,即查询 [ L , R ] [L,R] [L,R]这个区间的结果
对于初始值 a , b {a,b} a,b,我们有 x 1 ∗ a + y 1 ∗ b , x 2 ∗ a + y 2 ∗ b {x1 * a + y1 * b, x2 * a + y2 * b} x1∗a+y1∗b,x2∗a+y2∗b,即 A , B {A,B} A,B
其实这个操作就是一个矩阵的变化
我们维护一个 2 × 2 2×2 2×2的矩阵
{ a b } ∗ { 1 0 1 1 } = { a + b b } \left\{ \begin{matrix} a & b \end{matrix} \right\} * \left\{ \begin{matrix} 1 & 0 \\ 1 & 1 \end{matrix} \right\}= \left\{ \begin{matrix} a+b & b \end{matrix} \right\} {
ab}∗{
1101}=