题目描述
给定一个长度为 n 的数组 ai,每个元素有颜色 ci。你需要维护 m 次单点修改颜色 ci。
每次修改后,你需要回答:
ci=cjmin{ai⊕aj},
即两个颜色不同的 ai 的异或和最小是多少。
为了方便,保证 a 单调递增。部分测试点有强制在线。
输入格式
第一行三个正整数 n,m,type,分别表示数组长度、操作次数、强制在线参数。
第二行 n 个非负整数 ai。
第三行 n 个正整数 ci。
接下来 m 行,每行两个正整数 x′,y。
若 type=0,则 x=x′;若 type=1,设上一次的答案为 ans,则
x=((x′−ans−1)modn+n)modn+1.
之后修改 cx:=y。
输出格式
对于每次操作,输出一行一个非负整数,表示该次操作后的答案。
样例 1 输入
5 2 0
1 2 3 4 5
1 1 1 2 1
4 3
5 3
样例 1 输出
1
4
数据范围与约定
对于全部数据:
1≤n,m≤2×105,
1≤ci≤n,
0≤ai<230,
type∈{0,1}.
| 子任务编号 |
特殊限制 |
分数 |
| 1 |
1≤n,m≤300, type=0 |
10 |
| 2 |
1≤n,m≤2000 |
15 |
| 3 |
任意时刻 ci 互不相同 |
| 4 |
0≤ai<44, type=0 |
| 5 |
1≤n,m≤5×104, type=0 |
| 6 |
无 |