2025.3.22 闲话

我尚且解释一下 STARGAZERS 这个题所想要表达的(

略过不重要的部分,我们其实是想要维护一种带单点修改的 ST 表结构:

STARGAZERS 数据结构部分

信息被分为 \(k\)\(I_{1\dots k}\) . 对于两个 \(k\) 级的信息 \(u,v\in I_k\),可以合并为 \(k+1\) 级的信息 \(u+v\in I_{k+1}\)(不保证交换律).

对于 \(2^k\) 个信息,它们的合并方式是每次把信息分成前后两部分,分别合并后合并 .

你需要维护 \(n\) 个信息组成的序列,支持:单点修改,每次问一个长度为 2 的幂的区间信息合并后得到的结果 .

如果没有单点修改就是模板 ST 表 . 关于有单点修改的情况可以考虑 ST 表的深 \(\frac12\log_2n+o(1)\) 层暴力合并信息,剩下的部分等询问的时候再合并 . 类似动态 FFT 那种分析,可以知道时间复杂度为 \(O(n\sqrt{n\log n})\)\(n,q\) 同阶).

posted @ 2025-03-22 18:52  yspm  阅读(129)  评论(0)    收藏  举报
😅​