P5889 跳树

题目背景

兔子喜欢跳树。

题目描述

一天,兔子在一棵点数为 $2^n-1$ 完全二叉树上的一个结点上,他准备进行若干次如下的跳跃。 - 跳到这个点的左儿子,保证这个点有左儿子。 - 跳到这个点的右儿子,保证这个点有右儿子。 - 跳到这个点的父亲,**若这个点是根,无视此操作**。 其中,$i$ 号点要么没有儿子,要么有左儿子 $2 \times i$ 和右儿子 $2 \times i + 1$。 兔子会计划性地跳树,他写下了一个长度为 $m$ 的序列 $op$。$op$ 中的每个数都是 $1$, $2$, $3$ 中的一种。操作 $i$ 对应从上到下第 $i$ 种跳跃方式。 每次,兔子会选择一段区间 $[l,r]$,依次进行跳跃 $op_l,op_{l+1},\ldots,op_r$。 有时兔子会对一个点的 $op$ 值进行修改。 现在你需要求出兔子每次会跳到哪个结点。 阅读样例解释可以对题意获得更好的理解。

输入格式

输出格式

说明/提示

![](https://cdn.luogu.com.cn/upload/image_hosting/jxigowfv.png) 其中红边为第一次跳跃的路径,蓝边为第二次,绿边为第三次。 所有测试数据的范围和特点如下表所示: ![](https://cdn.luogu.com.cn/upload/image_hosting/lost2xr2.png) 对于 $100\%$ 的数据,$1\leq n \leq 30$,$1\leq m,q \leq 5 \times 10^5$,$1\leq op_i\leq 3$。