#P13308. 故障

    ID: 14379 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>树形数据结构并查集洛谷原创O2优化进制字典树 Trie洛谷月赛哈希表

故障

题目背景

バグ

迷子 迷子 真っ只中 さあ パ パ パ ラ パーラノーイ「ア」

ギコギコ MY HEART(マイココロ)剪定  パ パ パ ラ パーラノーイ「ア」

题目描述

雪有一棵 nn 层的满二叉树。按二叉树层次遍历(见解释)编号。

这棵树经历了 mm 次操作。

  1. 这棵树发生了故障。把 uu 点与父节点的边删除。如果节点是根节点或者这条边已经被删掉则什么也不做。

  2. 询问 uu 点的连通块大小。

“身为迷失的孩子,即使那么不情愿,也还是需要那份爱吗?”

输入格式

第一行两个整数 n,mn,m

接下来 mm 行每行两个整数 o,uo,u

如果 o=1o=1 则对 uu 进行 11 操作,如果 o=2o=2 则对 uu 进行 22 操作。

输出格式

为了简化输出量,你只需要输出一行,表示对于每次询问时所有答案的异或和。

5 3
2 3
1 3
2 3

16

5 3
1 2
1 3
2 1
1

提示

二叉树及相关问题

  1. nn 层的满二叉树指的是最大深度为 nn 的满二叉树,其中根节点的深度为 11
  2. 根节点的编号为 11。如果 ii 点存在儿子,满二叉树的层次遍历编号满足 ii 的左儿子编号是 2i2i,右儿子编号是 2i+12i+1

样例解释 1

对于第一次询问,删去 3311 的边之前答案为整棵树的大小 3131,删去后变为了 33 的子树大小 1515。异或和为 3115=1631\oplus 15=16

数据范围

1010 个数据点,不开启捆绑测试。

对于前 20%20\% 的数据,n10,m103n \leq 10,m \leq 10^3

对于前 50%50\% 的数据,n20,m104n \leq 20,m \leq 10^4

对于前 80%80\% 的数据,n30n\le 30

对于所有数据,$2\le n \leq 60,1\le m \leq 3\times 10^5,1\le o\le 2,1\le u\le 2^n -1$。