当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

6579:Operation

题目描述
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
    来自杭电HDUOJ的附加信息
    Recommend

    该题目是Virtual Judge题目,来自 杭电HDUOJ

    源链接: HDU-6579

    最后修改于 2020-10-25T23:32:29+00:00 由爬虫自动更新

    共提交 0

    通过率 --%
    时间上限 内存上限
    8000/4000MS(Java/Others) 262144/262144K(Java/Others)