P10015 笔记

蚩尤说又是一道囊得过分的思维题。300 分钟够吗,应该够吧。来吧,试一下米妮!

传送门

题意

非常复杂,不复读了。

思路

首先读完题可能对一点比较疑惑:为什么红蓝线能构成封闭图形?

因为线段不交,每个交点会连出去 \(4\) 条线段,假设只考虑红色线段,则两条线一定是一横一纵的。把每个线段看成连接相邻两个交点的边,会形成一张每个点度数都为 \(2\) 的图,这张图一定由若干个大小至少为 \(4\) 的偶环构成,于是每个环可以对应到二维平面上的一个封闭图形。这样上面的命题就证完了。

现在考虑合法情况下,整个图应该长什么样子,先把整张图 Flood Fill 一遍,把每个图形称为区域。接着有定理:边相邻的区域一定一个有色,一个无色。

什么叫边相邻,就是两个恰好共用一条边的区域。考虑证明,找到公共边所在的封闭图形,它一定包含了两个区域中的恰好一个,而其它的封闭图形要么同时包含两个区域,要么都不包含。所以两边区域被覆盖次数的奇偶性一定不同,一个区域被覆盖奇数次有色,否则无色,于是证毕。

还有一个定理:任意两个点相邻的区域不同色或都无色。显然如果同色,那交点伸出的 \(4\) 条线段都同色,这是不合法的。

我们得到了很强的结论,接下来看看怎么算答案。

如图,考虑从左往右对 \(x\) 轴扫描线(偷懒用了解题报告里的图ww):

这很有性质啊!

  1. 假设加进来的矩形边界 \(y\) 坐标是 \([l, r]\),那 \([l, r]\) 内的区域一定是同色或无色的。
  2. 从下往上数,第奇数个区域无色,第偶数个区域有色。

于是考虑扩展域并查集,可以将扫到的边界与那些区域连边。

咕咕咕了,因为看不懂题解了。根据对题解观察,我们维护的是每个 \([y, y + 1)\) 上并查集的代表元是多少,这个东西形如一个区间覆盖,但是具体细节非常繁琐,回头再想吧。

posted @ 2025-09-09 14:45  CTHOOH  阅读(17)  评论(0)    收藏  举报