强制在线区间众数(分块)
题意
给出一个长度为 nnn 的序列,有 mmm 次询问,每次询问给出 [l,r][l,r][l,r],求区间众数。强制在线。
n,m≤500000n,m\leq 500000n,m≤500000。
分析
首先对 aia_iai 离散化,现在值域变成了 [1,n][1,n][1,n]。
考虑分块。
首先,设 fi,jf_{i,j}fi,j 表示第 iii 块到第 jjj 块之间的众数,这个可以在 O(nn)O(n\sqrt{n})O(nn) 求出。具体做法是对于每一个块,O(n)O(n)O(n) 扫一
原创
2020-10-16 17:40:02 ·
523 阅读 ·
0 评论