不强制在线的话,莫队?
强制在线,分块?
等等 k 是常数?
好像有点东西。
发现 k 是常数,所以可以考虑预处理出每个数往前 k 个同样的数的位置,如果前面的数不足 k 个就当成 0。
对于 ai,记这个位置为 prei。
把所有数当成二维上的点 (i,prei),问题变成了询问矩形 (l,0)∼(r,l−1) 内的点的个数。
如果离线可以树状数组处理。
强制在线的话,相比树套树而言,静态问题可以用常数更小并且只有一个 log 的主席树来处理。
代码:
1 |
|
不强制在线的话,莫队?
强制在线,分块?
等等 k 是常数?
好像有点东西。
发现 k 是常数,所以可以考虑预处理出每个数往前 k 个同样的数的位置,如果前面的数不足 k 个就当成 0。
对于 ai,记这个位置为 prei。
把所有数当成二维上的点 (i,prei),问题变成了询问矩形 (l,0)∼(r,l−1) 内的点的个数。
如果离线可以树状数组处理。
强制在线的话,相比树套树而言,静态问题可以用常数更小并且只有一个 log 的主席树来处理。
代码:
1 | #include <cstdio> |
Related Issues not found
Please contact @Alpha1022 to initialize the comment