明显的数据结构题这道题的特殊性在于n只有10000,修改的操作只有1000那么就是说即便是O(n)的修改也没有太大的问题,只要常数写小一点即可考虑到以前对同色点的处理pre[i]表示与这个位置同色的前一个位置对于一段区间l,r,如果区间中位置i,满足pre[i]<l则这个位置上的颜色是一种,被算一次直接扫描显然O(n),但假如这段位置pre有序,我们就可以用二分但是如果整体排序我们就不好确定区间的位置因此我们考虑分块,每块内pre排序,当查询区间[l,r]时先暴力统计l,r所在块内,在用二分统计…