你说得对,但是

关于区间分治信息维护的思考。

区间 \(N\),标记 \(T\),信息 \(D\)

区间合并:\(N_0=N_1+N_2\)

标记作用在区间上:\(N_0=N_0\times T\)。称为 \(apply(T\rightarrow N_0)\)

从区间到信息的函数:\(f(N)=D\)

标记的复合:\(T=T_0\times T_1\)。称为 \(compose(T_0,T_1)\)

区间分治信息维护最暴力的做法就是 \(apply\)\(f\)

apply 是将题目的标记作用在区间上,f 是得到区间的某些信息。

我们考虑这么一种结构,将标记作用在信息上而非区间上,来降低复杂度。

即:\(apply(T\rightarrow D)\)

考虑线段树这种结构需要满足什么。

  • 区间复合的得到的信息等于信息的复合(f 对区间有分配律)

\(f(N=N_0+N_1)=f(N_0)+f(N_1)\)

例如,线段树 1 中的 f 即代表区间和,信息的复合方式为相加。

  • 区间、信息、标记的合并都有结合律

区间显然有结合律。

信息的结合律:\(f(N=N_0+N_1+N_2)=f(N_0)+f(N_1)+f(N_2)=f(N_0)+(f(N_1)+f(N_2))\)

标记的结合律?\(T_0T_1T_2=T_0(T_1T_2)\)

标记的交换律并不是必要的。

  • 标记对信息和区间都要有分配律

\(T(N_0+N_1)=TN_0+TN_1\)

  • 存在单位元标记 \(\omega\)

  • 对区间应用标记得到的信息等于对信息应用标记

这是区间分治信息维护能降低复杂度最重要的一点。

\(f(TN)=Tf(N)\)

  • 标记的复合是封闭的

区间分治信息维护的题目一般需要设计标记、标记的复合、信息的复合、标记对信息的应用。

posted @ 2024-07-18 10:59  BYR_KKK  阅读(26)  评论(0)    收藏  举报