P16052 [ICPC 2022 NAC] Triangular Logs 题解
前言
思路
先拆一下题目里的条件。令被矩形包含的所有点的 构成的可重集为 ,从小到大对 考虑,那么对任意三个相邻的 均满足 是答案为 的充要条件。发现 中的元素增长得很快,因为值域有限制,尝试构造出一个最大的答案为 的 ,满足 。其实这个时候 里的数就是斐波那契数列 ,由于 ,我们得到了当 时答案必然为 。
做一遍矩形数点排除掉 的询问后,我们直接将每个点插入将其包含的剩下的询问中。这个过程可以用扫描线 + 线段树实现,对线段树每个节点开个 set,扫到一个询问 轴的左端点时将其插入进线段树上 轴对应的区间里,在 轴的右端点再删除,扫到点的时候就在线段树上从根到其 坐标对应的叶子走一遍。然后对每个询问暴力 check 是否合法即可。
复杂度 。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Misaka16172's Blog!
评论
re

