【题目链接】
【思路要点】
- 询问一个区间内不方便用线段树维护信息,可离线,考虑莫队。
- 这样的话,我们希望支持快速询问\(f(l,r)=\sum_{i=l}^{r}Min_{j=l}^{i}\{a_i\}\)和\(g(l,r)=\sum_{i=l}^{r}Min_{j=i}^{r}\{a_j\}\)。
- 用单调栈处理出每个数向左/向右第一个小于它的数,并倍增。询问时在倍增数组上二分,可以得到\(O(N*\sqrt{N}*LogN)\)的总复杂度。
【题目链接】
【思路要点】
- 询问一个区间内不方便用线段树维护信息,可离线,考虑莫队。
- 这样的话,我们希望支持快速询问\(f(l,r)=\sum_{i=l}^{r}Min_{j=l}^{i}\{a_i\}\)和\(g(l,r)=\sum_{i=l}^{r}Min_{j=i}^{r}\{a_j\}\)。
- 用单调栈处理出每个数向左/向右第一个小于它的数,并倍增。询问时在倍增数组上二分,可以得到\(O(N*\sqrt{N}*LogN)\)的总复杂度。