D. Guess Your Way Out! II
Problem's Link:
Mean:
一棵满二叉树,树中某个叶子节点是出口,目的是寻找这个出口。再给定Q个询问的结果,每个结果告诉我们在第i层中(l,r)覆盖的叶结点是否包含出口。
analyse:
基本思路:多个区间求交集。
具体实现:
对于每一个询问,把它转化到最底层。并且把不在(l,r)区间的询问改为在(最左边,l-1)和(r+1,最右边)的形式,这样一来全部都变成了在(l,r)区间的描述。
区间统计:
对左右区间起点和终点组成的集合进行排序。然后找到答案存在的区间,如果区间长度=1,答案唯一;长度>1,答案不唯一;长度=0,无解。
Trick:会爆int。
Time complexity: O(n)
Source code:
/** this code is made by crazyacking* Verdict: Accepted* Submission Date: 2015-07-16-11.55* Time: 0MS* Memory: 137KB*/#include #include #include #include #include #include #include #include