一道需要动动脑的题,需要把题目转换一下,然后才好维护。 Description 题解 对于 a i < i a_i<i ai<i 的情况,我们发现 i i i是一定能到达 a [ i ] a[i] a[i]的。 那么说,我们假设把所有的 [ a i , i ] [a_i,i] [ai,i]当做线段,那么我们每次的查询就是找与 [ i , n ] [i,n] [i,n] 相交最前的左端点。 用线段树维护,支持区间加以及找前缀区间最后一个0的位置。 特别的,为了避免把 [ x , y ] , [ y + 1 , z ] [x,y],[y+1,z] [x,y],