链接 区间修改,完全二叉树,这引导我们把这棵树看成一棵线段树 .线段树的每一个节点相当于这棵二叉树的节点, 对于区间交换操作,我们对二叉树的每一层从上到下分别考虑,找到L,R在第i层对应的节点修改 这里有个技巧:在第i层,把这棵线段树的第i层当做叶子节点,即值域变为 \(1\dots2^i\) 每个点维护一个标记和一个翻转,标记存被翻转的深度集合,翻转标记记录该点是否被翻转 然后递归时,检查该点是否被翻转,如果被翻转,则进入另外的子树 #include<bits/stdc++.h> #defi…