logo AlgoBeat OnlineJudge
登录 注册

#214421. 【模板】K-D Tree

内存限制:32 MiB 时间限制:5000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

请注意本题不同寻常的时空限制。


维空间中,有一个由整点构成的可重集 (初始为空), 中每个点都有一个权值。记整点 的第 维坐标为

你需要维护三种操作:

  • 操作一:向 中插入点 ,权值为
  • 操作二:给定整点 与整点 ,将满足 的所有整点 的权值增加
  • 操作三:给定整点 与整点 ,查询满足 的所有整点 权值之和。

本题强制在线。

输入格式

第一行两个整数 ,表示空间维数与操作次数。

接下来 行,每行若干个整数,描述一次操作:

  • 若第一个整数为 ,接下来 个整数 ,表示加密后的整点 的坐标和权值。
  • 若第一个整数为 ,接下来 个整数 ,表示加密后的整点 的坐标以及权值增量。
  • 若第一个整数为 ,接下来 个整数 ,表示加密后的整点 的坐标。
  • 对于加密后的数据 ,原数据 满足 ,其中 为按位异或运算, 为上次操作三的答案(初始为 )。

输出格式

若干行,每行一个整数,依次为所有操作三的答案。

样例

样例输入 1

2 10
1 1 4 2
3 1 5 5 5
1 4 2 5
1 2 4 2
2 1 3 3 4 2
3 2 4 5 4
3 5 6 0 7
1 7 4 7
3 7 7 6 1
3 5 6 0 0

样例输出 1

0
4
5
4
13

样例输入 2

3 9
1 1 3 2 3
1 4 3 1 5
1 4 4 4 2
1 2 1 5 3
3 2 3 1 3 4 5
1 5 5 4 3
2 5 5 3 6 6 6 1
3 1 2 1 4 5 5
3 9 9 9 15 15 14

样例输出 2

0
10
6

数据范围与提示

「样例解释 #1」

:::info[解密后的输入]

2 10
1 1 4 2
3 1 5 5 5
1 4 2 5
1 2 4 2
2 1 3 3 4 2
3 2 4 5 4
3 1 2 4 3
1 2 1 2
3 2 2 3 4
3 1 2 4 4

:::

最后一次询问的范围包含 三个整点,他们的权值之和为


「样例解释 #2」

:::info[解密后的输入]

3 9
1 1 3 2 3
1 4 3 1 5
1 4 4 4 2
1 2 1 5 3
3 2 3 1 3 4 5
1 5 5 4 3
2 5 5 3 6 6 6 1
3 1 2 1 4 5 5
3 3 3 3 5 5 4

:::

最后一次询问的范围包含 两个整点,他们的权值之和为


「数据范围」

对于所有测试数据,保证:

  • 操作一满足解密后的
  • 操作二满足解密后的
  • 操作三满足解密后的
子任务 特殊性质 分值
不含操作二
^
不含操作二
^

请注意 没有同时达到各自数据范围的上界。