2 条题解

  • 0
    @ 2022-11-18 23:10:44

    我们可以将直线 y=105y=10^5 和 V 形函数(下面称作三角形),逆时针旋转 45°45°,这样每进行一次操作,就相当于插入两条平行于 xx 轴和 yy 轴的直线,交点为三角形的顶点。

    我们需要维护的就是下方轮廓线,初始情况下是一条斜线。

    image

    从图中可以看出,每当我们插入一个三角形,轮廓线就有一部分需要区间推平。我们需要二分得到其推平左边界,然后对三角形进行区间推平。

    线段树比较模板,就是写起来比较痛苦。

    还有通过 set 维护轮廓的想法,但至今没人愿意写这个 std,感兴趣的可以尝试。

    这里是代码

    信息

    ID
    55
    时间
    1000ms
    内存
    512MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者