本题说白了,就是一道big模拟!!!
题意不再赘述,我们直接看思路。这里作者借鉴了某差分思想:
-
末尾加空格,用于判断最后一个条件;
-
若只有 \(\le\),对给出的数字和数组第一个进行标记。标记的时候要+32769,因为数组中不存在负数下标,以免越界;
-
若只有 \(\ge\),就标记给出的数字和数组最后一个;
-
若都有,就标记本条件中给出的数据对应的下标;
-
若错开(如,\(x \le 7 \ \&\& \ x \ge 4567\)),不标记;
-
若所有的输入条件都出现了错开(如,\(x \le 7 \&\& x \ge 4567\))的情况,就输出
false
; -
从头到尾扫一遍,若s一直不为0(除了最后一个),输出
true
; -
剩下的和区间一样,输出要做特殊处理:
- 建一个bool,存的是true即为前面输出过,反之亦然;
- 输出过的话,就先输出
||
再输出数据;
代码就不贴了
标签:输出,le,标记,题解,Hard,ge,数组,NEERC2016 From: https://www.cnblogs.com/cath20/p/18170931