Unverified Commit 34c76588 authored by Ruitao Xu's avatar Ruitao Xu Committed by GitHub
Browse files

fix typos

parent 5849041b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -226,7 +226,7 @@ int main() {

那么第二步怎么做呢?

其实和 cdq 分治求三维偏序差不多,我们会发现处理 $l \leq j \leq mid,mid+1 \leq i \leq r$ 的转移关系的时候我们已经不用管 $j<i$ 这个限制条件了,因此我们依然是将所有的点 $i$ 和点 $j$ 按 $a$ 值进行排序处理之后用双指针的方式将 $j$ 点插入到树状数组里,然后最后查一前缀最大值更新一下 $dp_{i}$ 就可以了
其实和 cdq 分治求三维偏序差不多,我们会发现处理 $l \leq j \leq mid,mid+1 \leq i \leq r$ 的转移关系的时候我们已经不用管 $j<i$ 这个限制条件了,因此我们依然是将所有的点 $i$ 和点 $j$ 按 $a$ 值进行排序处理之后用双指针的方式将 $j$ 点插入到树状数组里,然后最后查一前缀最大值更新一下 $dp_{i}$ 就可以了

你会发现此时的 cdq 写法和上一种处理点对间关系的 cdq 写法最大的不同就是处理 $l \leq j \leq mid,mid+1 \leq i \leq r$ 的点对这一部分,上面的写法中这一部分我们放到哪里都是可以的,但是,在用 cdq 分治优化 dp 的时候这个流程却必须夹在 $solve(l,mid),solve(mid+1,r)$ 的中间,为什么呢?

@@ -445,7 +445,7 @@ int main() {

什么意思呢?

众所周知的是有些数据结构题需要我们兹次做 xxx 修改然后做 xxx 询问的情况
众所周知的是有些数据结构题需要我们支持做 xxx 修改然后做 xxx 询问的情况

然后你会发现一个有趣的事实是如果我们把询问进行离线之后,所有操作按照时间自然的排成了一个序列,另一个比较显然的事实是每一个修改会对它之后的询问发生关系,而这样的修改 - 询问关系一共会有 $O(n^2)$ 对