QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: sqrtqwq

Posted at: 2026-07-02 09:15:28

Last updated: 2026-07-02 09:16:02

Back to Problem

题解

我们肯定想让线段两两配对,然后使得对于每一个询问都有一个是成立的。

先将线段按照 $l$ 升序排序,接下来对于 $i,i+1$ 我们进行分类讨论:

  • 若 $l_i \le l_{i+1} \le r_{i+1} \le r_i$:那么我们考虑钦定 $i+1$ 是错的,$i$ 是对的,那么这样子两者之中至少有一个是对的。
  • 若 $l_i \le l_{i+1} \le r_i \le r_{i+1}$:我们钦定 $i$ 是错的,$i+1$ 是对的,但是你发现如果 $x \in [l_i,l_{i+1})$ 时两条线段都不会产生贡献。所以你考虑把最后一条线段单独拎出来,然后钦定其是错的,此时这条线段肯定能做贡献,所以这个时候贡献应该为 $\lfloor \frac{n-1}{2} \rfloor + 1$。当然,如果 $n$ 是偶数,我们就把最后两条线段都拎出来即可。
  • $l_i \le r_i \le l_{i+1} \le r_{i+1}$:和一个上一个一样即可。

然后就做完了。最坏情况也就是 $\lfloor \frac{n-1}{2} \rfloor + 1$

Comments

No comments yet.