线段树是九条可怜很喜欢的一个数据结构,它拥有着简单的结构、优秀的复杂度与强大的 功能,因此可怜曾经花了很长时间研究线段树的一些性质。
最近可怜又开始研究起线段树来了,有所不同的是,她把目光放在了更广义的线段树上:在正常的线段树中,对于区间
例如下面这棵树,就是一棵广义的线段树:
为了方便,我们按照先序遍历给线段树上所有的节点标号,例如在上图中,
考虑把线段树上的定位区间操作(就是打懒标记的时候干的事情)移植到广义线段树上,可以发现在广义的线段树上还是可以用传统的线段树上的方法定位区间的,例如在上图中,蓝色节点和蓝色边就是在定位区间
如果你对线段树不熟悉,这儿给出定位区间操作形式化的定义:给出区间
定义
现在可怜给了你一棵
输入格式
第一行输入一个整数
接下来一行包含
接下来一行输入一个整数
之后
输出格式
对于每组询问,输出一个整数表示答案。
样例一
input
10 3 1 2 9 6 4 5 7 8 3 7 6 7 18 4 5 14 5 6
output
7 11 3
样例二
见样例数据下载。
限制与约定
测试点编号 | 其他约定 | ||
---|---|---|---|
1 | 无 | ||
2 | |||
3 | |||
4 | |||
5 | |||
6 | |||
7 | 无 | ||
8 | |||
9 | |||
10 |
对于 100% 的数据,保证
时间限制:
空间限制: