P3863 - 序列 - 总结

P3863 - 序列

如果 \(n = 1\),也就是只有一个数的情况下,可以列出时间轴,要求实现后缀加,前缀查询大于 \(x\) 的个数,使用分块即可。

\(n \neq 1\) 时,也列出所有数的时间轴,那么就转变为了矩阵加,某一序列的前缀查询大于 \(x\) 的个数。

这时可以应用扫描线的思想,以序列为横轴,从 \(a_1\) 扫到 \(a_n\),维护目前的时间轴(即纵轴),这样就可以拆解矩阵加,同时分块维护查询了。

复杂度 \(\Omicron(n+q\sqrt q\log q)\)\(n = 1\) 时复杂度一样,因为修改和查询的总量 \(q\) 不变。

posted @ 2023-11-12 17:25  xaocy  阅读(15)  评论(0编辑  收藏  举报