看到这题就想到区间众数,然后又因为在线,就想到了分块的做法,再看一看数据范围1e5,显然可做,然后就找了找区间众数的代码,改了点细节,说几个修改的重点,首先因为数的范围最大是1e9,所以肯定需要离散化,其次块中记录的最大值应改为如题目所述的那样,为每个数乘以数出现的次数的最大值,最后且最关键的地方就是对边角的处理,在区间众数中,遍历左边角的时候,是将当前数的下标往右从ans起开始拓展,而在这题中,应该从当前数的下标往右从ans/a[i]个开始拓展(ans为中间块中的最大值,会根据边角的遍历而不断更新),右边角同理。(如若以上前置知识还未了解,移步https://www.luogu.com.cn...