做法:莫队 + 根号分治 显然这题我们需要莫队来处理询问,我们用两个unordered_map<int, int> mp, cnt 来分别记录数字 的出现次数 和出现次数为 的数的个数 . 我们可以发现,出现次数如果很多,那么不同的数字就会很少;不同的数字很多,那么出现的次数就会很少,容易证明二者平均时大家的个数都是 。 复杂度: #include<bits/stdc++.h> using namespace std; const int N = 5e4 + 10; struct node { int l, r, w, id; }; int n, m, a[N]...