本来想练一下树状数组的,看到网上某人的blog后点了进来. 第一眼发现不会,出去上了个厕所发现离散化后不是一道简单前缀和题吗. 考虑到每一个人出现且仅出现一次,且出现的时间是在一个连续的区间内. 那么对于一组询问(l,r),当这个人在时刻l前消失,或者再时刻l+r后出现,那么你才会看不到. 那么我们维护一个sum1[i],表示在时刻i及之前,出现过并且已经消失的人的数量. 维护一个sum2[i],表示在时刻i及之后才出现的人的数量. 答案显然是n-sum1[l-1]-sum2[l+r]. 然后就…