#P5889. 跳树
跳树
题目背景
兔子喜欢跳树。
题目描述
一天,兔子在一棵点数为 完全二叉树上的一个结点上,他准备进行若干次如下的跳跃。
- 跳到这个点的左儿子,保证这个点有左儿子。
- 跳到这个点的右儿子,保证这个点有右儿子。
- 跳到这个点的父亲,若这个点是根,无视此操作。
其中, 号点要么没有儿子,要么有左儿子 和右儿子 。
兔子会计划性地跳树,他写下了一个长度为 的序列 。 中的每个数都是 , , 中的一种。操作 对应从上到下第 种跳跃方式。
每次,兔子会选择一段区间 ,依次进行跳跃 。
有时兔子会对一个点的 值进行修改。
现在你需要求出兔子每次会跳到哪个结点。
阅读样例解释可以对题意获得更好的理解。
输入格式
第一行三个整数 ,表示树的大小的幂次、 的长度、操作的次数。
第二行包含 个整数 ,表示序列的初值。
接下来 行,每行一个整数 ,若 为 ,接下来三个整数 ,描述起点和进行跳跃的区间;若 为 ,接下来两个整数 ,描述修改的位置与值。
输出格式
对于每一个 ,输出一个数,表示跳跃到的结点。
3 5 4
1 2 3 3 1
1 3 4 5
1 2 2 4
2 3 1
1 1 2 3
2
1
6
提示
其中红边为第一次跳跃的路径,蓝边为第二次,绿边为第三次。
所有测试数据的范围和特点如下表所示:
对于 的数据,,,。