Problem B. Operation

时间限制 4000 ms   内存限制 256 MB

There is an integer sequence $a$ of length $n$ and there are two kinds of operations:
  • 0 l r: select some numbers from $a_l...a_r$ so that their xor sum is maximum, and print the maximum value.

  • 1 x: append $x$ to the end of the sequence and let $n=n+1$.

  •  

    输入数据

    There are multiple test cases. The first line of input contains an integer $T(T\le 10)$, indicating the number of test cases.
    For each test case:
    The first line contains two integers $n, m(1\le n\le 5\times 10^5, 1\le m\le 5\times 10^5)$, the number of integers initially in the sequence and the number of operations.
    The second line contains $n$ integers $a_1,a_2,...,a_n(0\le a_i< 2^{30})$, denoting the initial sequence.
    Each of the next $m$ lines contains one of the operations given above.
    It's guaranteed that $\sum n\le 10^6, \sum m\le 10^6 , 0\le x< 2^{30}$.
    And operations will be encrypted. You need to decode the operations as follows, where lastans denotes the answer to the last type 0 operation and is initially zero:
    For every type 0 operation, let l=(l xor lastans)mod n + 1, r=(r xor lastans)mod n + 1, and then swap(l, r) if l>r.
    For every type 1 operation, let x=x xor lastans.
     

    输出数据

    For each type 0 operation, please output the maximum xor sum in a single line.
     

    样例输入

    复制
    1
    3 3
    0 1 2
    0 1 1
    1 3
    0 3 4

    样例输出

    复制
    1
    3

    提交

    请先 登录

    © 2025 FAQs Contact About