题意
有一个长度为
n
的数组
解法
首先,我们可以发现,对于大于
n
的
那我们可以从前往后扫,用线段树维护每个自然数最后出现的位置,及一个区间内所有自然数最后出现的位置中最前的位置(前者是后者在叶子节点的体现)。那我们扫到一个位置,更新该位置自然数最后出现的位置,并处理右端点为该位置的询问。
对于一个左端点为
l
的询问,我们在线段树中查询,设当前结点的左端点
有一个长度为
n
的数组
首先,我们可以发现,对于大于
n
的
那我们可以从前往后扫,用线段树维护每个自然数最后出现的位置,及一个区间内所有自然数最后出现的位置中最前的位置(前者是后者在叶子节点的体现)。那我们扫到一个位置,更新该位置自然数最后出现的位置,并处理右端点为该位置的询问。
对于一个左端点为
l
的询问,我们在线段树中查询,设当前结点的左端点