[AH2017/HNOI2017] 影魔
考虑扫描线。
首先我们扫描线的时候应该想:我们 DS 上需要维护的是什么?
对于本题,有一个非常暴力的做法就是直接在 DS 上维护每个点
从这个思路出发,我们就只用考虑每一个
直接算贡献不好算,我们可以考虑给它转化成式子的形式。
贪心地,我们显然是要看区间里面又没有
显然
最后再来考虑一下用什么 DS 来维护。
首先我们需要进行快速的插入和删除,然后我们需要对
容易发现,上述操作可以用 FHQ Treap 维护,时间复杂度
考虑扫描线。
首先我们扫描线的时候应该想:我们 DS 上需要维护的是什么?
对于本题,有一个非常暴力的做法就是直接在 DS 上维护每个点
从这个思路出发,我们就只用考虑每一个
直接算贡献不好算,我们可以考虑给它转化成式子的形式。
贪心地,我们显然是要看区间里面又没有
显然
最后再来考虑一下用什么 DS 来维护。
首先我们需要进行快速的插入和删除,然后我们需要对
容易发现,上述操作可以用 FHQ Treap 维护,时间复杂度