20

http://pjudge.ac/contest/1288/problem/21777

考虑 A 性质怎么做,把每种颜色从 \(x\) 轴上面还是下面连过去视作 \(0/1\) 两种状态,然后优化建图跑二分图染色即可。

如果在一般情况沿用上面的做法,对合法性的刻画会变得十分复杂,因为两个点之间的连边可能会从整个数轴的左边或右边绕过去。但是我们发现,如果可以从左边绕过去,那也一定可以改成从右边绕过去,而不改变整个连边方式的合法性,如下图。

这启发我们,上面做法里的刻画方式是很不对的,因为经过这样一次改变,\(0/1\) 状态就变了。

考虑在这样一次改变里,什么东西没有变。从一个点延申出的线段方向是没有变的。所以设 \(x_i\) 表示点 \(i\) 延申出的线段方向,经过一些手玩,所有对合法性的刻画都可以写成如下形式:

  • \(l_i<l_j<r_j<r_i\),则 \(x_{l_j}=x_{r_j}\)
  • \(l_i<l_j<r_i<r_j\),则 \(x_{l_j}\not=x_{r_i}\)

然后就做完了。

posted @ 2026-03-02 16:36  Egg_eating_master  阅读(0)  评论(0)    收藏  举报