CF1093E

Bzw's Blog / 2023-05-06 / 原文

首先将将 \(b_i\) 的定义改为 \(b_i\)\(a\) 中出现的位置 \(pos\),那么询问操作就是询问 \(b_{[l_b,r_b]}\) 中有几个数的值在 \([l_a,r_a]\) 中。

因为时间有 \(\texttt{6.00 S}\)\(n,m\le 2\times 10^5\),所以考虑分块

根据套路,进行块内排序,对于询问操作,散块直接暴力统计,整块直接二分求出值在 \([l_a,r_a]\) 的个数。对于修改操作,直接暴力重构该块,总时间复杂度 \(O(n\log n + m\sqrt{n}\log n)\)

代码。