题目链接:
题目大意
$0….n$ 建立线段树,问是否存在 区间为 L R 的 这个叶子节点,存在找到最小的$n$,不存在输出$-1$
样例解释
6 7
//线段树Build(0, 7),刚好存在6 7这个叶子节点,故输出710 13
// 不存在10 11
//同理
解题思路
根据线段树 父亲节点的区间 和 孩子节点的 区间的关系,可得知 若孩子节点时l,r
,则父亲节点有4种情况(见代码注释),依次枚举即可。
但要注意 剪枝。
代码
1 | //Author LJH |
tenlee's blog
$0….n$ 建立线段树,问是否存在 区间为 L R 的 这个叶子节点,存在找到最小的$n$,不存在输出$-1$
6 7
//线段树Build(0, 7),刚好存在6 7这个叶子节点,故输出710 13
// 不存在10 11
//同理
根据线段树 父亲节点的区间 和 孩子节点的 区间的关系,可得知 若孩子节点时l,r
,则父亲节点有4种情况(见代码注释),依次枚举即可。
但要注意 剪枝。
1 | //Author LJH |