Skip to content

11620: 【原1620】数据结构造题程式

题目

题目描述

author: Chika 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/1620 ## Description

你可能发现了大部分数据结构题造题方式都是单调乏味的。

下面将演示如何正确使用某个数据结构造题程式。

首先,得有一个维护的对象,这次产生的对象是个长度为n的数组。

然后我得有修改操作,这次生成的修改也只是平凡的单点修改。

最后的通常是某种类型的询问。令人惊讶的产生了异或这种高稀有度的询问类型。

至于询问的具体对象是什么,就当是一段区间里面的数任取两个异或起来的和是多少好了。

你需要知道的是,假设这个区间里面是两个数1,2,你应当输出1 xor 2 = 3,而不是1 xor 2 + 2 xor 1 = 6

于是就请你解决这个数据结构造题程式产生的一道传统数据结构题吧。

Input Format

第一行是一个数n,表示数组长度

接下来n行,描述这个数组。

接下来一个数q,表示事件个数。然后后面是q行。

  • 1 x y: 把第x个元素变成y
  • 0 l r: 询问区间[l, r]的答案。

这个答案可能有点大,于是请取模1e9 + 7。

Output Format

对于每一个询问类事件,输出对应的答案。

Sample Input

2
1 2
1
0 1 2

Sample Output

3

Limits

  • 对于40%的数据,n <= 100
  • 对于100%的数据,n <= 60000

数组里的每一个数任何时候内都是小于1e9的非负数。

Oops! 本题目还没有解答!

助教老师们编题的速度,已经超过了解题的速度!

OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。

如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!