预处理p[i],p[i]表示:[p[i],i]这段闭区间上所有数字都是a[i] 询问的时候,如果xi==a[ri]并且p[ri]<=li,一定无解 剩下的情况都是有解的,如果xi!=a[ri],那么输出ri,否则输出p[ri]-1. 另外,看到有大牛博客说可以用线段树,大致是这样的: 线段树保存区间最大值与最小值, 如果询问的区间上最小值==最大值,那么无解: 剩下的情况都是有解:如果xi不等于最小值,那么输出最小值位置:如果xi不等于最大值,那么输出最大值位置. #include <stdi…