Problem 2961 --Operation

2961: Operation

"
Time Limit $4$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $2$ 正确数量 $2$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签
There is an integer sequence aa of length nn and there are two kinds of operations: 
  • 0 l r: select some numbers from al...aral...ar so that their xor sum is maximum, and print the maximum value.

  • 1 x: append xx to the end of the sequence and let n=n+1n=n+1.
  • There are multiple test cases. The first line of input contains an integer T(T≤10)T(T≤10), indicating the number of test cases. 
    For each test case: 
    The first line contains two integers n,m(1≤n≤5×105,1≤m≤5×105)n,m(1≤n≤5×105,1≤m≤5×105), the number of integers initially in the sequence and the number of operations. 
    The second line contains nn integers a1,a2,...,an(0≤ai<230)a1,a2,...,an(0≤ai<230), denoting the initial sequence. 
    Each of the next mm lines contains one of the operations given above. 
    It's guaranteed that ∑n≤106,∑m≤106,0≤x<230∑n≤106,∑m≤106,0≤x<230
    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

    推荐代码 查看2961 所有题解 上传题解视频得图灵币

    本题记录 用 户(点击查看用户) 运行号(点击购买题解) 时 间
    算法最快[$745 $ms] 刘成健 458846 2019-08-17 20:05:28
    内存最少[$128976 $KB] 刘成健 458846 2019-08-17 20:05:28
    第一AC 刘成健 458846 2019-08-17 20:05:28
    第一挑战 刘成健 458846 2019-08-17 20:05:28

    赛题来源/所属竞赛 2019 Multi-University Training Contest 1 N/A

    竞赛编号 竞赛名称 竞赛时间 访问比赛