1 条题解

  • 1
    @ 2024-11-20 15:28:54

    首先,问题等价于求黑色和白色的直径。

    我们维护每一个点变黑的时刻(等价于链 checkmin,可以用树剖加线段树解决,倒着做就是链覆盖),那么问题就等价于加点动态维护直径。

    我们有性质:有点集 AABB,设其直径分别为 (a,b)(a,b)(c,d)(c,d),则其合并后的直径 (s,t)(s,t) 满足 s,t{a,b,c,d}s,t \in \{a,b,c,d\}

    我们只要判六次距离就能合并两个点集的直径,考虑每一次加边等价于连接连通块,用并查集维护一下即可。

    白色的怎么办呢?时光倒流,等价于白色动态加点,再做一遍就好了。

    信息

    ID
    1190
    时间
    2000ms
    内存
    512MiB
    难度
    10
    标签
    (无)
    递交数
    2
    已通过
    1
    上传者