传送门 Descroption 给了你一个长为n的序列a,有m次操作 1.把区间[l,r]中大于x的数减去x 2.查询区间[l,r]中x的出现次数 Solution 分块 对于每个块,我们都分别维护: 每种数出现的次数,需要用到并查集,即把相同的数合并在一起 标记tag,表示这个块总共减了多少 maxx,表示这个块的最大值 对于查询,按照分块的套路直接查询就可以了 修改的时候,为了保证复杂度正确,我们考虑每次通过\(O(x)\)的复杂度,实现整个块的极差减少\(x\). 这样,我们就能保证总修改…